一个编辑器具备的功能 1)打开文件、新建文件、保存文件 2)光标移动 3)文本编辑 4)(多行间|多列间)复制、粘贴、删除 5)查找和替换
cd /etc/vim cp vimrc ~/.vimrc cd ~ gedit .vimrc 在.vimrc中加入如下内容:
"关闭兼容功能 set nocompatible "显示行号 set number "编辑时 backspace 键设置为2个空格 set backspace=2 "编辑时 tab 键设置为4个空格 set tabstop=4 "设置自动对齐为4个空格 set shiftwidth=4 "搜索时不区分大小写 set ignorecase "搜索时高亮显示 set hlsearch
1)一般模式(光标移动、复制、粘贴、删除) 2)编辑模式(编辑文本) 3)命令行模式(查找和替换)
注意: 1)当不知道处于何种模式时,按ESC键返回到一般模式。 2)wq(write quit) 3)i(insert)
vi 文件名 如果文件存在,输入结束后,:wq保存并退出文件 如果文件不存在,输入结束后,:wq就可以新建并保存文件
在编辑完成时,返回一般模式, 1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件 2)直接输入:wq保存并退出 3)如果不想保存被修改的内容,则:q!强制退出。
i(在光标前开始插入文本) a在光标后开始插入文本 o(在当前行之下新开一行,并到行首)
在一般模式下,hjkl这四个按键就可以移动光标 h(左) (最左边) j(下) (想象j像一个向下的箭头) k(上) l(右) (最右边)
快速的定位到某一行: 文件头、文件尾、指定某一行 ngg光标移至第n行的行首(n为数字), 如1gg就跳到第一行的行首,就是文件头 如2gg就跳到第二行的行首
G转至文件结尾 注意:ngg和G是在一般模式
在某一行如何快速定位到某一列 0(数字零)光标移至当前行行首 光 标 移 至 当 前 行 行 末 f x 搜 索 当 前 行 中 下 一 个 出 现 字 母 x 的 地 方 注 意 : 0 、 光标移至当前行行末 fx搜索当前行中下一个出现字母x的地方 注意:0、 光标移至当前行行末fx搜索当前行中下一个出现字母x的地方注意:0、、fx是在一般模式
vi的难点: vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。 当你不知道处于何种模式时,使用esc键返回到一般模式。 再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。
yy复制当前行(y:yank(复制)) nyy复制当前行及其后的n-1行(n是数字)
使用P键来粘贴(p:paste)
dd 删除光标所在行(d:delete) ndd 删除当前行及其后的n-1行(n是数字)
按u键来撤销上一步操作
x删除光标所在位置的字符
注意: yy/nyy/dd/ndd/x/u都是在一般模式。
/pattern 从光标开始处向文件尾搜索pattern,后按下n或N 注意: n在同一个方向重复上一次搜索命令 N在反方向重复上一次搜索命令 n(N)来源于next
注意: 在/pattern之前先跳到第一行则进行全文件搜索。
:%s/p1/p2/g将文件中所有的p1均用p2替换 :%s/p1/p2/gc替换时需要确认
s:substitute替换 g:global全局 c:confirm确认
vi编辑器有三种模式 1)一般模式(光标移动、复制、粘贴、删除、撤销) hjkl、ngg/G、0、$、fx yy/nyy p dd/ndd、x u 2)编辑模式(编辑文本) i a o 3)命令行模式(查找和替换、保存退出文件) /pattern、:%s/p1/p2/gc、:wq