基本常用的 vi 命令
[ctrl] + [f] | 屏幕 向下 移动一页,相当于 [Page Dow] 按键 |
---|---|
[ctrl] + [d] | 屏幕 向上 移动一页,相当于 [Page Up] 按键 |
0 | 或功能键 [Home] 这是数字[ 0 ]: 移动到这一列的最前面字符处 |
$ | 或功能键[End] 移动到这一列的最后面字符处 |
G | 移动到这个文件的最后一列 |
gg | 移动到这个文件的第一列,相当于 IG |
n <Enter>* | n为数字,光标向下移动 n 列 |
/word | 向光标之下寻找一个名称为 word 的字符串。 例如要在文件内搜寻 mikey 这个字符串就输入 /mikey 即可 |
?word | 向光标之上寻找一个名称为 word 的字符串 |
n | 重复前一个搜寻的动作,指向下搜寻 |
N | 与n相反,向上搜寻 |
:n1,n2s/word1/word2/g | n1 与 n2 为数字。在第 n1 与 n2 列之间寻找 word1 这个字符串,并将这个字符串取代为 word2 .例如:在 100 到 200 列之间搜寻 mikey 并取代为 yussi 则 [ :100,200s/mikey/yussi/g ] |
:1,$s/word1/word2/g | 从第一列到最后一列寻找 word1 字符串,并将该字符串取代为 word2 |
:1,$s/word1/word2/gc | 从第一列到最后一列寻找 word1 字符串,并将该字符串取代为 word2。且在取代前显示提示字符给用户确认是否需要取代。 |
x,X | 在一列字当中, x 为向后删除一个字符 (相当于 【del】 按键),X 为向前删除一个字符 (相当于 【backspace】 按键) |
nx n | 为数字, 连续向后删除 n 个字符。 例如,我要连续删除 10 个字符,【10x】 |
dd | 删除游标所在的那一整列 |
ndd | n为数字。删除光标所在的向下 n 列,例如 20dd 则是删除 20列 |
yy | 复制游标所在的那一列 |
nyy | n为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20列 |
p,P | p为将已复制的数据在光标下一行贴上,P则为贴在游标上一列 |
u | 复原前一个动作 |
[ctrl] + r | 重做上一个动作 |
. | 小数点,意思是重复前一个动作的意思。如果你想要重复删除,重复贴上等等动作,按下小数点【 . 】就好了 |
i,I | 进入插入模式(Insert mode) |
a,A | 进入插入模式(Insert mode)【a,为[从目前光标所在的下一个字符处开始插入], A 为[从光标所在列的最后一个字符处开始插入] |
o,O | 进入插入模式(Insert mode) 【o,为[从目前光标所在的下一列处插入新的一列], O为[从光标所在处的上一列插入新的一列] |
r,R | 进入插入模式(Insert mode) 【r只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止 |
[Esc] | 退出编辑模式,回到一般指令模式中 |
:w | 将编辑的数据写入硬盘文件中 |
:q | 离开vi |
! | 在 vi 中 常常具有 【强制】的意思,如 :w! 强制写入,:q!强制离开不储存文件。 |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 |
ZZ | 若文件没有更动,则不储存离开,若文件已经被更改过,则储存后离开。 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
常用的 vim 命令和功能
区块选择 | |
---|---|
v | 字符选择,将光标经过的地方反白选择 |
V | 列选择,将光标经过的列反白选择 |
[ ctrl ] + v | 区块选择,可以用长方形的方式选择资料 |
y | 将反白的地方复制起来 |
d | 将反白的地方删除掉 |
p | 将刚刚复制的区块,在游标处贴上 |
多文本编辑 | |
---|---|
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:files | 列出目前这个 vim 的开启的所有文件 |
3. 多窗口功能 | |
---|---|
:sp [filename] | 开启一个新窗口,如果有加filename,表示在新窗口开启一个新文件,否则表示两个窗口为同一个文件内容(同步显示) |
([ctrl] + w) + j / k ([ctrl] + w) + ↓ / ↑ | 光标移动到下面/上面的窗口 |
4.挑字补全功能 | |
---|---|
[ctrl] + x -> [ctrl] + n | 透过目前正在编辑的这个【文件的内容文字】作为关键词,予以补齐 |
[ctrl] + x -> [ctrl] + f | 以当前目录内的【文件名】作为关键词,予以补齐 |
ctrl] + x -> [ctrl] + o | 以拓展名作为语法补充,以 vim 内建的关键词,予以补齐 |
学习总结
vim 的使用还是很方便的,功能很强大,但是命令还是较多挺难记住。
鸟哥里的语系编码转换部分还是不是看得很明白( iconv -f big5 vi.big5 -o .utf8 )不是很明白什么意思,转成简体中文好像太麻烦了,不知道有没有更简单的方法。留待以后解决。
2020/2/26
参考鸟哥linux私房菜
本文章仅用于记录学习过程内容
来源:CSDN
作者:mikeyning
链接:https://blog.csdn.net/mikeyning/article/details/104512527