Faster, Higher, Stronger
更快,更高,更强

vim常用命令/快捷键

我在CentOS系统下是直接敲vi的,如果敲vim会提示:

-bash: vim: command not found

所以,一直我都以为我用的是vi,是不同于vim的。今天突然发现这个系统里的vi就是vim。因为如果我直接敲vi,会得到下面这样的结果:

~                              VIM - Vi IMproved
~
~                               version 7.4.160
~                           by Bram Moolenaar et al.
~                      Modified by <bugzilla@redhat.com>
~                 Vim is open source and freely distributable
~
~                        Help poor children in Uganda!
~                type  :help iccf<Enter>       for information
~
~                type  :q<Enter>               to exit
~                type  :help<Enter>  or  <F1>  for on-line help
~                type  :help version7<Enter>   for version info

所以,这个操作系统里vi应该是做成vim的软连接了。

vim有两种模式,插入模式(insert mode)和命令模式(command mode)。按i键进入插入模式,按ESC键进入命令模式。

命令模式下有以下比较常用的操作:

j:光标下移一行;

k:光标上移一行;

h:光标左移一行;

l:光标右移一行;

x:删除不想要的字符(删除光标所在处的字符);

u:撤销上一操作(undo the last operation);

U:删除整行?;

Ctrl+r:恢复最近撤销的操作;

i:在光标前插入字符;

I:在行首插入;

A:将光标置于行末,并进入插入模式,可以直接开始输入文本了(换句话说就是在行末插入字符);

a:将光标置于当前位置的后面一个位置,并进入插入模式(换句话说就是在当前光标所在位置的后面插入字符);

O:在当前行的上面另起一行,并进入插入模式;

o:在当前行的下面另起一行,并进入插入模式;

:q!:退出编辑器,不保留任何修改;

:e!:放弃更改,然后相当于重新打开;

:wq:保存修改并退出编辑器;

0(数字0):移动到一行的开头;

^:移动到行首(跟数字0效果一样);

$:移动到行末;

3$:移动到3行后的行末;

-:移动到上一行的行首;

dd:删除当前行;

D:删除从当前光标所在位置(包括当前光标所在位置)到行末的所有内容;

p:将上一次删除的文本置于当前光标所在处的后面;

r:替换当前字符(比如re,会将光标所在处的字符替换为字母e);

ce:删除当前光标所在单词的位置开始(包含光标所在处的字符)到单词的末尾(包括单词末尾的字符)间的所有字符(比如,如果你将光标置于“this is a very good day”中的单词very中的字母e上,然后敲ce,会删掉ery,句子会变成“this is a v good day”),然后会自动进入插入模式;

G:将光标移动到文件末尾;

数字+G:将光标移动到指定行第一个非空(空格、tab锁进等)字符上;

gg:将光标移动到文件开头;

参考:
  • https://coderwall.com/p/adv71w/basic-vim-commands-for-getting-started
赞(0) 打赏
未经允许不得转载:峰间的云 » vim常用命令/快捷键

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏