Skip to content

Commit

Permalink
update vim command doc
Browse files Browse the repository at this point in the history
  • Loading branch information
kugouming committed Jan 19, 2016
1 parent 706900d commit 1c81b4d
Showing 1 changed file with 99 additions and 77 deletions.
176 changes: 99 additions & 77 deletions vim/vim_command.md
Original file line number Diff line number Diff line change
@@ -1,97 +1,119 @@
#Vim 编辑器中的常用操作命令
# Vim 编辑器中的常用操作命令

:!command 执行Linux命令
:set expandtab 将编辑器中的tab改为空格
:set noexpandtab 将编辑器中的空格改为tab输出
:set tabstop=4 设定tab宽度为4个字符
:set shiftwidth=4 设定自动缩进为4个字符
:set list 显示文件中的tab、末尾制表符号
:sp [filename] 在同一编辑窗打开第二个文件
:set encoding=utf8 文件编码
## Vim 命令
`:!command` 执行Linux命令

shift + # 向上查找函数或单词
shift + * 向下查找函数或单词
`:set expandtab` 将编辑器中的tab改为空格

`:set noexpandtab` 将编辑器中的空格改为tab输出

#Vim 编辑器插件 Ctags
:!ctags -R . 生成ctag目录文件,使ctag插件在该目录下生效
ctrl + ] 查找函数
ctrl + t 返回原来编辑位置
`:set tabstop=4` 设定tab宽度为4个字符

`:set shiftwidth=4` 设定自动缩进为4个字符

`:set list` 显示文件中的tab、末尾制表符号

`:sp [filename]` 在同一编辑窗打开第二个文件

`:set encoding=utf8` 文件编码

`shift + #` 向上查找函数或单词

`shift + *` 向下查找函数或单词


## Vim 编辑器插件 Ctags
`:!ctags -R .` 生成ctag目录文件,使ctag插件在该目录下生效

`ctrl + ]` 查找函数

`ctrl + t` 返回原来编辑位置

## 文件操作
1、 开新文件:

#文件操作
⑴、打开新文件:
i.打开新的文件到vi编辑器中:
:e filename
`:e filename`

ii.打开新的文件到vi编辑器中,并放弃对当前文件的修改:
:e! filename
⑵、读取文件内容到当前vi编辑器中:
:r filename
⑶、保存文件:保存对vi编辑器中已打开文件的修改;
:w
⑷、另存为文件: 将vi编辑器中的内容另存为指定文件名;
:w myfile

#多文件操作
:args
`:e! filename`

2、 读取文件内容到当前vi编辑器中:

`:r filename`

3、 保存文件:保存对vi编辑器中已打开文件的修改;

`:w`

4、 另存为文件: 将vi编辑器中的内容另存为指定文件名;

`:w myfile`

## 多文件操作
`:args`
显示多文件信息
:next
`:next`
向后切换文件
:prev
`:prev`
向前切换文件
:first
`:first`
定位首文件
:last
`:last`
定位尾文件
Ctrl + ^
`Ctrl + ^`
快速切换到编辑器中切换前的文件

#批量列操作
1、列删除
1.光标定位到要操作的地方。
2.CTRL+v 进入“可视 块”模式,选取这一列操作多少行。
3.d 删除。
2、列插入
1.光标定位到要操作的地方。
2.CTRL+v 进入“可视 块”模式,选取这一列操作多少行。
3.SHIFT+i(I) 输入要插入的内容。
4.ESC 按两次,会在每行的选定的区域出现插入的内容。
## 批量列操作
1、列删除
1). 光标定位到要操作的地方。
2). `CTRL+v` 进入“可视 块”模式,选取这一列操作多少行。
3). `d` 删除。
2、列插入
1). 光标定位到要操作的地方。
2). `CTRL+v` 进入“可视 块”模式,选取这一列操作多少行。
3). `SHIFT+i(I)` 输入要插入的内容。
4). `ESC` 按两次,会在每行的选定的区域出现插入的内容。

## 常用操作

1. 光标:
h 方向左键
j 方向下键
k 方向上键
l 方向下键
ctrl+f 向前翻动一页
ctrl+b 前后翻动一页
0 移动到此行的一个字符处
$ 移动到此行的最后一个字符
n《enter》光标下移n行
`h` 方向左键
`j` 方向下键
`k` 方向上键
`l` 方向下键
`ctrl+f` 向前翻动一页
`ctrl+b` 前后翻动一页
`0` 移动到此行的一个字符处
`$` 移动到此行的最后一个字符
`n《enter》` 光标下移n行

2. 查找替换
/word 在光标之后查找一个word的字符串
word 在光标之前查找一个word的字符串
n1,n2s/word1/word2/g 在第n1行和n2行之间查找word1,并将word1替换为word2
:1,$s/word1/word2/g 从第一行到最后一行查找word1并替换为word2
:1,$s/word1/word2/gc 从第一行到最后一行查找word1并替换为word2,在替换前显示提示符,让用户确认
`/word` 在光标之后查找一个word的字符串
`? word` 在光标之前查找一个word的字符串
`:n1,n2s/word1/word2/g` 在第n1行和n2行之间查找word1,并将word1替换为word2
`:1,$s/word1/word2/g` 从第一行到最后一行查找word1并替换为word2
`:1,$s/word1/word2/gc` 从第一行到最后一行查找word1并替换为word2,在替换前显示提示符,让用户确认

3. 删除 复制 粘贴
x,X x向后删除一个字符 X向前删除一个字符
nx 向后删除n个字符
dd 删除光标所在的整列
ndd 删除光标所在列的向下n列
yy 复制光标所在行
nyy 复制光标所在行的向下n行
p ,P p复制的数据粘贴在光标下一行,P上一行
u 恢复上一个动作
编辑模式
i ,I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退
a,A 添加 :由当前光标所在处的下一个字符开始输入,已存在的字符向后退
o ,O 插入新的一行,从光标所在处的下一行行首开始输入
r,R 替换:r会替换光标所指的那一个字符,R会一直替换光标所指的文字,知道案下esc
esc 返回一般模式
命令行模式
:w 保存
:w! 若文件为只读,强制写入
:q 推出vi
:wq 保存推出
:w [filename] 保存为另一文件
`x , X` x向后删除一个字符 X向前删除一个字符
`nx` 向后删除n个字符
`dd` 删除光标所在的整列
`ndd` 删除光标所在列的向下n列
`yy` 复制光标所在行
`nyy` 复制光标所在行的向下n行
`p , P` p复制的数据粘贴在光标下一行,P上一行
`u` 恢复上一个动作
4. 编辑模式
`i , I` 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退
`a , A` 添加 :由当前光标所在处的下一个字符开始输入,已存在的字符向后退
`o , O` 插入新的一行,从光标所在处的下一行行首开始输入
`r , R` 替换:r会替换光标所指的那一个字符,R会一直替换光标所指的文字,知道案下esc
`esc` 返回一般模式

5. 命令行模式
`:w` 保存
`:w!` 若文件为只读,强制写入
`:q` 推出vi
`:wq` 保存推出
`:w [filename]` 保存为另一文件

0 comments on commit 1c81b4d

Please sign in to comment.