Contents
  1. 1. Vim有三个模式
  2. 2. 光标的移动
  3. 3. 退出
  4. 4. 撤销和重做
  5. 5. 搜索
  6. 6. 插入
  7. 7. 删除
  8. 8. 剪切粘贴
  9. 9. 复制
  10. 10. 数字和快捷键连用如:
  11. 11. visual模式
  12. 12. 分屏
  13. 13. 其他
  14. 14. 从鼠标复制内容
  15. 15. .vimrc文件——vim设置

最近才开始用Vim,发现自己连复制粘贴删除撤销等很多操作都用不熟练,非常不方便。看了看教程,把一些常用命令记下来。

以下参考这个教程 Interactive Vim tutorial 以及在终端敲 vimtutor 出现的vim自带教程。

Vim有三个模式

i - 进入insert模式,可以像普通编辑器一样操作。从光标当前位置前一个字母开始操作。

esc - 进入normol模式,以下快捷键都是在esc模式下使用

v - 进入visual模式

光标的移动

h - 左

l - 右

j - 下

k - 上

w - 移动到下个单词首字母

b - 移动到上个单词首字母

e - 移动到下个单词尾字母

0 - 移动到本行的行首

$ - 移动到本行的行末

* - 移动到下一个此时光标所处位置的单词

# - 移动到上一个此时光标所处位置的单词

gg - 移动到文档的开始位置

G - 移动到文档的末尾

10G - 移动到第十行的开头

退出

:q! - 不保存,退出

:wq - 保存并退出

撤销和重做

u - 撤销上一个操作

U - 撤销对当前行的所有操作

Ctrl + r 重做

搜索

/text + Enter + n - 向后搜索文本text

/text + Enter + N - 向前搜索文本text

插入

o - 向后插入一行,并进入insert模式

O - 向前插入一行,并进入insert模式

A - 从行末开始插入文字,并进入insert模式

删除

x - 删除当前光标位置的字符,重复后删除光标之后的字符

X - 删除当前光标位置的字符,重复后删除光标之前的字符

r - 替换当前光标位置的字符,比如re,把光标当前位置字符替换为e

dw - 删除光标当前位置直到下一单词(不包括下一个单词的首字母)

de - 删除光标当前位置到这个单词的结束(包括这个单词的尾字母)

dd - 删除当前行

d$ - 删除当前光标位置到行末的字符

:%s/xxx/yyy/g 全局替换,把xxx替换成yyy

剪切粘贴

dd + p 其中dd是删除当前行,p粘贴到下一行

复制

yy

数字和快捷键连用如:

3w - 移动到后3个单词的首字母

10ig - 一下子插入10个g

d9e - 删除光标后九个单词(不计空格)

9dd - 删除光标当前位置往后的9行

visual模式

e - 选中字符

分屏

:vs path/to/file - 垂直分屏,并且打开另一个的文件

ctrl + w 切换vim里的屏幕

其他

. - 重复之前的操作

% - 找到配对的这三种括号( , { , [

从鼠标复制内容

1
2
3
:set paste 
shift + fn + insert
:set nopaste

自带的vimtutor才看完 Lesson 3 啊,剩下的部分下次再看吧!

.vimrc文件——vim设置

我想把vim显示行数设为默认情况,按照教程在我的home目录下,没有找到.vimrc。那就自己新建一个,并且加上 set number 保存。此后再打开vim就能自动显示行数了^_^

Contents
  1. 1. Vim有三个模式
  2. 2. 光标的移动
  3. 3. 退出
  4. 4. 撤销和重做
  5. 5. 搜索
  6. 6. 插入
  7. 7. 删除
  8. 8. 剪切粘贴
  9. 9. 复制
  10. 10. 数字和快捷键连用如:
  11. 11. visual模式
  12. 12. 分屏
  13. 13. 其他
  14. 14. 从鼠标复制内容
  15. 15. .vimrc文件——vim设置