在命令模式下输入:wq表示保存离开,输入:wq!表示强制写入并离开,前提是你的权限可以改变。
一般模式下的按键列表:
移动光标的方法h或向左方向键(←) | 光标向左移动一个字元 |
j或向下方向键(↓) | 光标向下移动一个字元 |
k或向上方向键(↑) | 光标向上移动一个字元 |
l或向右方向键(→) | 光标向右移动一个字元 |
如果你将右手放在键盘上的话,你会发现hjkl是排列在一起的,因此可以使用这四个键来移动光标。如果想要进行多次的话,例如向下移动30行,可以使用30j或30↓的組合按鍵,亦即加上想要进行的次数(数字)后,按下动作即可!
[Ctrl]+[f] | 屏幕『向下』移动一页,相当于[PageDown]按键(常用) |
[Ctrl]+[b] | 屏幕『向上』移动一页,相当于[PageUp]按键(常用) |
[Ctrl]+[d] | 屏幕『向下』移动半页 |
[Ctrl]+[u] | 屏幕『向上』移动半页 |
+ | 光标移动到非空白字元的下一列 |
- | 光标移动到非空白字元的上一列 |
n<space> | 那个n表示『数字』,例如20。按下数字后再按空白键,光标会向右移动这一行的n个字元。例如20<space>则光标会向后面移动20个字元距离。 |
0或^或功能键[Home] | 这是数字『0』:移动到这一行的最前面字元处(常用) |
$或功能键[End] | 移动到这一行的最后面字元处(常用) |
H | 光标移动到这个屏幕的最上方那一行的第一个字元 |
M | 光标移动到这个屏幕的中央那一行的第一个字元 |
L | 光标移动到到这个屏幕的最下方那一行的第一个字元 |
G | 移动到这个文件的最后一行(常用) |
nG | n为数字。移动到这个文件的第n行。例如20G则会移动到的第20行(可配合:setnu) |
1G或者gg | 移动到这个文件的第1行(常用) |
n<Enter> | n为数字。光标向下移动n行(常用) |
搜尋與取代/word | 向光标之下寻找一个名叫word的字串。例如要在文件內搜寻yidao这个字符串,就输入/yidao即可!(常用) |
?word | 向光标之上寻找一个字串名称为word的字串。 |
n | 这个n是英文的小写按键n。代表『重复前一个搜寻动作』。举例来说,如果刚刚我们执行/yidao去向下搜寻yidao这个字符串,则按下n后,会向下继续搜寻名为yidao的字串。如果是执行?yidao的话,那么按下n则会向上继续搜寻名为yidao的字串! |
N | 这个N是英文大写按键N。与n刚好相反,为『反向』进行前一个动作。例如/yidao后,按下N则表示『向上』搜寻yidao。 |
使用/word配合n及N是非常有帮助的!可以让你重复的找到一些你搜寻关键词!
:n1,n2s/word1/word2/g | n1与n2为数字。在第n1与n2行之间寻找word1这个字串,并将该字符串替换为word2!举例來说,在100到200行之间搜寻yidao并取代为YIDAO: 『:100,200s/yidao/YIDAO/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行(常用) |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
d$ | 删除光标所在处,到该行的最后一个字符 |
d0 | 那个是数字的0,删除光标所在处,到该行的最前面一个字符 |
yy | 复制光标所在的那一行(常用) |
nyy | n为数字。复制光标所在的向下n行,例如20yy则是复制20行(常用) |
y1G | 复制光标所在行到第一个行的所有资料 |
yG | 复制光标所在行到最后一行的所有资料 |
y0 | 复制光标所在的字符到该行行首的所有字符 |
y$ | 复制光标所在的字符到该行行尾的所有字符 |
p,P | p为将已经复制的数据在光标下一行粘贴上,P则为粘贴在光标上一行!(常用) |
J | 将光标所在行和下一行数据合并成一行 |
c | 重复删除多个资料,例如向下删10行,[10cj] |
u | 还原(undo)前一个动作。(常用) |
[Ctrl]+r | 重做上一个动作。(常用) |
这个u与[Ctrl]+r是很常用的指令!一个是还原,另一个是重做~利用这两个功能按键,你的编辑,嘿嘿!很爽的啦!
. | 不要怀疑,这个就是小数点!意思是重复前一个动作的意思。如果你想要重复删除、重复粘贴等,按下小数点『.』就好了!(常用) |
====块选择(VisualBlock)====
区块选择按键说明v | 字符选择,会将光标经过的地方反白选择 |
V | 行选择,会将光标经过的行反白选择! |
[Ctrl]+v | 列选择模式 |
y | 将反白的区域复制下来 |
d | 将反白的区域删除掉 |
====多文件编辑====
可以用vimfile1file2来打开多个文件同时编辑,多文件的三个命令:
多文件编辑的按键:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:files | 列出目前这个vim的开启的所有文件 |
====多窗口功能====
在命令模式下输入:sp[filename],可在新窗口打开filename文件,如果没有输入filename,则默认把当前文件切割成两个。
窗口切换:
*ctrl+w+j把光标移动到下一个窗口
*ctrl+w+k把光标移动到上一个窗口
*ctrl+w+q其实就是:q结束离开的意思
====vim环境设置:~/.vimrc,~/.viminfo====
有没有发现呢,如果我们以vim查找一个文件内容,然后再次打开后,那个查找的字符串还是会反白显示。另外我们光标所在行数也是上次你关闭vim时候的行数,这个就是通过~/.viminfo这个文件记录的。相当于vim编辑的history文件,你编辑的历史记录基本都记录在这里头。自动产生的。o(╯□╰)o
vim的配置文件为/etc/vimrc,不过不建议你修改它,因为它是所有用户公共的默认配置文件,如果你想拥有自己的配置文件,可以修改~/.vimrc,这个文件默认是没有的,你可以手动建立一个,然后写入你自己有个性的设置:
复制代码