vi/vim编译器使用

最近在学习git,其中编辑器用了vim编辑器,所以先学习vim编译器的使用。
vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。vim(Vi IMproved)是从vi发展出来的一个编辑器,它不仅兼容vi的所有指令,而且还有一些新的特性。
总的来说vim对于vi的优势在于:
1)多级撤消
在vi的命令模式里,按 u只能撤消上次命令,而在vim里可以无限制的撤消,几乎等同于windows下的ctrl+z了 。
2)多操作系统支持
vi只能运行于unix中,而vim不仅可以运行于unix,还有windows ,mac等操作系统上。
3)语法加亮
作为一名程序员,我觉得这个效果用处最大了- vim可以对代码进行多颜色的语法加亮。
4)可视化操作
因为vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows, 所以说他“可视化”。
5)对vi的完全兼容
某些情况下,vim可以完全被当成vi来使用

常用快捷键

注:vi是区分大小写的
vim有6种基本方式,分别是:

  • 普通模式(Normal mode)
  • 插入模式
  • 可视模式
  • 选择模式
  • 命令行模式
  • EX模式
    不同模式下快捷键有不同

常用操作:
进入插入模式:a,i,r,o大小写都可以(但是开始的位置不同)
从插入模式退出:Esc
左移动:h或者backspace 右移动:l,space
下移动:j 上移动:k 这些用方向键也可以
移动到行首:0,(两个字符"0,") 移动到行末: $
H,M,L:分别移动到屏幕的最上,中,最下
G:移动到文档最后一行 gg:移动到文档的第一行
v:进入光标模式,配合移动键选择多行,再按一次退出
Ctrl+f:向下翻页 Ctrl+b:向上翻页 Ctrl+r:重复上一次操作 Ctrl+z:暂停并退出
u:撤销上次操作(如果撤销多了可以Ctrl+r来恢复,就是撤销撤销操作)
``:回到上次操作的位置
dw:删除这个单词后面的内容 dd:删除光标当前行
dG:删除光标后面所有内容 d$:删除本行光标后面所有内容
y:复制当前行,会复制换行符 yy:复制当前行的内容
yyp:复制当前行到下一行,不会放到剪切板上
nyy:复制当前开始的n行,n是数字
p,P,. : 粘贴 ddp:当前行与下一行互换位置
~:改变光标位置的大小写
ZZ:保存并离开
x:删除一个字符,光标后
X:删除一个字符,光标前
:split :新开一个窗口 Ctrl+W:切换窗口(可与方向键配合)

光标操作:
Ctrl+e:向下滚动 Ctrl+b:向上翻页
b:按照单词向前移动 e:按照单词向后移动 w:按单词到下一个单词字首
B,E,W这三个和相应的小写功能相似,只是忽略一些标点(哪些标点没仔细找)
(,):分别是光标到句首和句尾
{,}:分别是光标到段首和段尾
nG:光标移动(可上可下)到n行首位
n$:光标移动(可上可下)到n行尾部
n+,n-:光标向上,向下移动n行

查找操作:
*:向下查找同样光标的字符
#:向上查找同样光标的字符
/code:查找 code 一样的内容,向后
?code:查找 code 一样的内容,向前
n:查找下一处 N:查找上一处
指令操作:
:q :一般退出 :q! :推出不保存
:wq :保存退出 :w filename:另存为 filename
:set :显示设置参数 :set autoindent:自动缩排,回车与第一个非空格符对齐

常见用法:
tab用来缩进,tab缩进宽度默认为8个空格

你可能感兴趣的:(Linux)