vim的使用总结
接触vim编辑器已近一年的时间,但老是半蹴不蹴;最近老是在终端转悠,就将vim的简单使用做一个总结。毕竟,自己不能再忘了这些按键特点。
vim是一款相当优秀的终端环境下的程序编辑器。首先,要说的是vim的三种模式:一般模式、编辑模式和指令模式。
一般模式:可以移动光标,删除、选择、复制和粘贴等操作。
编辑模式:输入]i、o、a、r[即进入编辑模式。其中,输入]i、o、a[进入的是插入模式,这和在图形界面环境下的编辑器操作类似,只是初始情况下光标的位置有所区别;输入]r[那是替换模式,即替换光标所在的字符。
指令模式:在一般模式下,输入]:、/、?[即可将光标移动到终端的最底部。此时,你可以输入vim设定的相关配置指令。由于终端下没有图形界面那样的各类按钮,所以只能以指令的形式来实现文件的保存、打开新文件等操作。当然,还有vim的配置。
注意事项:vim三种模式的转换,只能由一般模式<->编辑模式和一般模式<->命令模式之间跳转。想当初,自己第一次打开vim乱按进入编辑模式,结果怎么都不知道如何跳转出来。最后还是强制关闭终端。
使用vim的体验是:一旦你熟练掌握其中的大部分使用技巧,你会无法自拔;或许,你再也不能适应其他的文本编辑器。当然,要是vim具备一定能力的自动填充能力就更好了。
按键操作说明
光标的移动
hjkl->左下上右 =>我实在无法理解这样的设定,要是和大部分游戏wdsa来移动光标该多好呀!可能是我游戏玩多了,可能是我接触vim在后。
[ctrl]+f/b/d/u表示移动一页或半页。
+光标移动到非空格符的下一行;-光标移动到非空格符的上一行。
n+[space]:n表示你输入的数字;光标会向右移动到第n个字符处。
0或[home]键,移动光标到光标所在行的最前面(首个字符处)。
$或[End]键,移动光标所在行的最后一个字符处。=>话说,[end]键在什么地方?
H/M/L或者就是High、middle、low吧!即移动光标所在页面的第一行、中间一行和最后一行。
G移动光标到文件的最后一行;nG移动到这个文件的第n行;gg移动光标到第一行;n[Enter]光标向下移动n行。
查找与替换
这些操作主要在命令模式下操作执行的。
/word word表示要查找的字符串;由光标向下处查找;?word由光标向上查找。n/N重复查找操作,N改变查找方向。
:n1,n2s/word1/word2/g 在n1和n2行之间,查找字符串word1,切用word2替换word1。
:1,$s/word1/word2/g 第一行到最后一行之间的查找替换;1,$s/word1/word2/gc 替换操作时要进行confirm处理。
删除、复制和粘贴
x向后删除一个字符;X向前删除一个字符;nx连续向后删除n个字符。
dd删除光标所在行;ndd删除所在光标向下的n行。
yy复制光标所在行;nyy复制所在光标向下的n行。
p将已经复制的内容在光标的下一行粘贴;P将已经复制的内容在光标的上一行粘贴。
内容选择|块选择
v从光标开始向上或者向下进行选择。 [Ctrl]+v块选择,用矩形的形式选择。 y复制选择的内容到内存中;d删除选择的内容。
其他一些重要命令
u撤销前一个操作;[Ctrl]+r重复前一个操作。
一般模式进入到插入模式
i\I:i为目前光标所在处插入;I为目前所在行的第一个非空格处开始插入。
a\A:a为目前光标所在的下一个字符处插入;A从光标所在行的最后一个字符处插入。
o\O:o光标所在行的下一行插入新的一行;O光标所在行的上一行插入新的一行。
r\R:r替换光标所在字符,替换后返回到一般模式;R替换光标所在字符,知道按下[ESC]后才会退回到一般模式。
命令模式下的常用命令
文件的保存:w/w! !表示强制的意思 w+filename另存为。n1,n2 w +filename 表示将第n1-n2行的内容保存到文件filename中。
r+filename将文件filename中的内容添加到当前所编辑内容光标所在行。
! + (linux终端下命令) 暂时离开vim,执行linux终端命令,并在vim中显示结果。=>这个是我最喜欢的功能。
q\ZZ退出vim。=>初学是一直不知道如何退出vim.