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 1c81b4d commit 3c78a14
Showing 1 changed file with 129 additions and 72 deletions.
201 changes: 129 additions & 72 deletions vim/vim_command.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,97 +23,154 @@


## Vim 编辑器插件 Ctags

`:!ctags -R .` 生成ctag目录文件,使ctag插件在该目录下生效

`ctrl + ]` 查找函数

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

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

#### i.打开新的文件到vi编辑器中:

i.打开新的文件到vi编辑器中:
`:e filename`
`:e filename`

ii.打开新的文件到vi编辑器中,并放弃对当前文件的修改:
`:e! filename`
#### ii.打开新的文件到vi编辑器中,并放弃对当前文件的修改:

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

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

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

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

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

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

`:w myfile`

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

`:args`

显示多文件信息

`:next`

向后切换文件

`:prev`

向前切换文件

`:first`

定位首文件

`:last`

定位尾文件

`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行

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,在替换前显示提示符,让用户确认

3. 删除 复制 粘贴
`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]` 保存为另一文件
### 1. 光标:

`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,在替换前显示提示符,让用户确认

### 3. 删除 复制 粘贴

`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 3c78a14

Please sign in to comment.