基础
:e filename | Open filename for edition |
:w | Save file |
:q | Exit Vim |
:q! | Quit without saving |
:x | Write file (if changes has been made) and exit |
:sav filename | Saves file as filename |
. | Repeats the last change made in normal mode |
5. | Repeats 5 times the last change made in normal mode |
在文件中移动
k or Up Arrow | move the cursor up one line |
j or Down Arrow | move the cursor down one line |
e | move the cursor to the end of the word |
b | move the cursor to the begining of the word |
0 | move the cursor to the begining of the line |
G | move the cursor to the end of the line |
gg | move the cursor to the begining of the file |
L | move the cursor to the end of the file |
:59 | move cursor to line 59. Replace 59 by the desired line number. |
20| | move cursor to column 20. |
% | Move cursor to matching parenthesis |
[[ | Jump to function start |
[{ | Jump to block start |
剪切、复制和粘贴
y | Copy the selected text to clipboard |
p | Paste clipboard contents |
dd | Cut current line |
yy | Copy current line |
y$ | Copy to end of line |
D | Cut to end of line |
搜索
/word | Search word from top to bottom |
?word | Search word from bottom to top |
* | Search the word under cursor |
/\cstring | Search STRING or string, case insensitive |
/jo[ha]n | Search john or joan |
/\< the | Search the, theatre or then |
/the\> | Search the or breathe |
/\< the\> | Search the |
/\< ¦.\> | Search all words of 4 letters |
/\/ | Search fred but not alfred or frederick |
/fred\|joe | Search fred or joe |
/\<\d\d\d\d\> | Search exactly 4 digits |
/^\n\{3} | Find 3 empty lines |
:bufdo /searchstr/ | Search in all open files |
bufdo %s/something/somethingelse/g | Search something in all the open buffers and replace it withsomethingelse |
替换
:%s/old/new/g | Replace all occurences of old by new in file |
:%s/onward/forward/gi | Replace onward by forward, case unsensitive |
:%s/old/new/gc | Replace all occurences with confirmation |
:2,35s/old/new/g | Replace all occurences between lines 2 and 35 |
:5,$s/old/new/g | Replace all occurences from line 5 to EOF |
:%s/^/hello/g | Replace the begining of each line by hello |
:%s/$/Harry/g | Replace the end of each line by Harry |
:%s/onward/forward/gi | Replace onward by forward, case unsensitive |
:%s/ *$//g | Delete all white spaces |
:g/string/d | Delete all lines containing string |
:v/string/d | Delete all lines containing which didn’t contain string |
:s/Bill/Steve/ | Replace the first occurence of Bill by Steve in current line |
:s/Bill/Steve/g | Replace Bill by Steve in current line |
:%s/Bill/Steve/g | Replace Bill by Steve in all the file |
:%s/^M//g | Delete DOS carriage returns (^M) |
:%s/\r/\r/g | Transform DOS carriage returns in returns |
:%s#<[^>]\+>##g | Delete HTML tags but keeps text |
:%s/^\(.*\)\n\1$/\1/ | Delete lines which appears twice |
Ctrl+a | Increment number under the cursor |
Ctrl+x | Decrement number under cursor |
ggVGg? | Change text to Rot13 |
大小写
Vu | Lowercase line |
VU | Uppercase line |
g~~ | Invert case |
vEU | Switch word to uppercase |
vE~ | Modify word case |
ggguG | Set all text to lowercase |
gggUG | Set all text to uppercase |
:set ignorecase | Ignore case in searches |
:set smartcase | Ignore case in searches excepted if an uppercase letter is used |
:%s/\<./\u&/g | Sets first letter of each word to uppercase |
:%s/\<./\l&/g | Sets first letter of each word to lowercase |
:%s/.*/\u& | Sets first letter of each line to uppercase |
:%s/.*/\l& | Sets first letter of each line to lowercase |
读写文件
:1,10 w outfile | Saves lines 1 to 10 in outfile |
:1,10 w >> outfile | Appends lines 1 to 10 to outfile |
:r infile | Insert the content of infile |
:23r infile | Insert the content of infile under line 23 |
文件浏览器
:e . | Open integrated file explorer |
:Sex | Split window and open integrated file explorer |
:Sex! | Same as :Sex but split window vertically |
:browse e | Graphical file explorer |
:ls | List buffers |
:cd .. | Move to parent directory |
:args | List files |
:args *.php | Open file list |
:grep expression *.php | Returns a list of .php files contening expression |
gf | Open file name under cursor |
和 Unix 系统交互
:!pwd | Execute the pwd unix command, then returns to Vi |
!!pwd | Execute the pwd unix command and insert output in file |
:sh | Temporary returns to Unix |
$exit | Retourns to Vi |
对齐
:%!fmt | Align all lines |
!}fmt | Align all lines at the current position |
5!!fmt | Align the next 5 lines |
Tabs/Windows
:tabnew | Creates a new tab |
gt | Show next tab |
:tabfirst | Show first tab |
:tablast | Show last tab |
:tabm n(position) | Rearrange tabs |
:tabdo %s/foo/bar/g | Execute a command in all tabs |
:tab ball | Puts all open files in tabs |
:new abc.txt | Edit abc.txt in new window |
分屏显示
:e filename | Edit filename in current window |
:split filename | Split the window and open filename |
ctrl-w up arrow | Puts cursor in top window |
ctrl-w ctrl-w | Puts cursor in next window |
ctrl-w_ | Maximize current window vertically |
ctrl-w| | Maximize current window horizontally |
ctrl-w= | Gives the same size to all windows |
10 ctrl-w+ | Add 10 lines to current window |
:vsplit file | Split window vertically |
:sview file | Same as :split in readonly mode |
:hide | Close current window |
:nly | Close all windows, excepted current |
:b 2 | Open #2 in this window |
自动完成
Ctrl+n Ctrl+p (in insert mode) | Complete word |
Ctrl+x Ctrl+l | Complete line |
:set dictionary=dict | Define dict as a dictionnary |
Ctrl+x Ctrl+k | Complete with dictionnary |
Marks
m {a-z} | Marks current position as {a-z} |
' {a-z} | Move to position {a-z} |
'' | Move to previous position |
缩写
:ab mail mail@provider.org | Define mail as abbreviation of mail@provider.org |
文本缩进
:set autoindent | Turn on auto-indent |
:set smartindent | Turn on intelligent auto-indent |
:set shiftwidth=4 | Defines 4 spaces as indent size |
ctrl-t, ctrl-d | Indent/un-indent in insert mode |
>> | Indent |
<< | Un-indent |
=% | Indent the code between parenthesis |
1GVG= | Indent the whole file |
语法高亮
:syntax on | Turn on syntax highlighting |
:syntax off | Turn off syntax highlighting |
:set syntax=perl | Force syntax highlighting |
相关推荐
### vim 常用快捷键知识点 #### 一、引言 Vim 是一款功能强大的文本编辑器,广泛应用于各种操作系统之中,特别是 Linux 和 Unix 平台。它源自 vi 编辑器,但添加了许多增强功能,使得它更加高效且易于定制。本文将...
以下是一些关于Vim常用快捷键、配置和插件的详细说明: 1. **Vim中的Tab操作**:在Vim中,Tab键可以用于缩进代码,但也可以通过配置实现其他功能。例如,你可以设置`map <Tab> >i`使得在插入模式下按下Tab键进行...
- 找到与系统快捷键冲突的Vim命令,例如: ``` " 原始代码 map <C-a> :call WinSelectAll() " 注释后的代码 " map <C-a> :call WinSelectAll() ``` 4. **保存并重启Vim**:保存文件后重新启动Vim,以确保新的...
title: Linux vim快捷键description: Linux vim快捷键keywords: Linux 终端 快捷键vim常用快捷键命令模式默认
下面是VI和VIM中常用的一些命令和快捷键知识点: 1. 光标移动: - h, j, k, l:分别对应左,下,上,右移动。 - G:移动到文件最后一行。 - gg:移动到文件第一行。 - nG:移动到文件的第n行。 - n<space>:向右...
VIM常用快捷键整理,包括各种组合快捷键、命令模式,输入模式以及底线命令模式等等
“vim 常用快捷键记录” Vim 编辑器是 Unix 系统中一个功能强大且灵活的文本编辑器,用户可以通过键盘快捷键来快速地编辑文本。以下是 Vim 编辑器中常用的快捷键记录: 光标移动 * h 左移光标,j 下移光标,k 上...
经过多次总结补充的常用vim快捷操作,全部为常用操作
本文将详细介绍VIM的一些常用快捷键及其应用场景,帮助用户更高效地使用Vim进行文本编辑。 #### 二、光标定位快捷键 1. **H**: 将光标定位到屏幕上方。 2. **M**: 将光标定位到屏幕中间。 3. **L**: 将光标定位到...
### VI&VIM常用命令及快捷键:深入解析 #### 光标控制命令:精确操控文档每一处 在VI和VIM编辑器中,光标控制是基础且关键的操作之一,它允许用户精确地移动光标,从而进行文本编辑。以下是一些常用的光标移动命令...
"Linux之vim命令汇总" Vim 编辑器是 Linux 中的一款功能强大且灵活的文本编辑器,广泛应用于各种 Linux 系统中。 Vim 编辑器提供了丰富的快捷键和命令,帮助用户快速高效地完成文本编辑任务。下面是 Vim 编辑器中...
以下是一些常用正常模式命令: - 移动光标: - `h` 左移,`j` 下移,`k` 上移,`l` 右移 - `0` 移动到行首,`$` 移动到行尾 - `gg` 移动到文件开头,`G` 移动到文件末尾 **2. 插入模式** 要开始编辑文本,需...
以下是一些 Vim 的常用快捷键及其功能: **光标移动:** - `k`:上移光标 - `h`:左移光标 - `l`:右移光标 - `j`:下移光标 - `Ctrl + f`:向下翻一页 - `Ctrl + b`:向上翻一页 - `Ctrl + d`:向下翻半页 - `Ctrl...
`vim命令图解.png`可能是详细解析各种Vim命令的图表,这些命令包括文本对象选择(如aw - 一个单词,ip - 一个句子),可视模式(`v`,`V`,`Ctrl + v`分别对应字符、行、块选择),以及文本操作(`.`重复上一次动作...
Vim是一款强大的文本编辑器,以其高效的编辑能力和丰富的快捷键集而闻名。了解并熟练使用Vim的快捷键能够极大地提升编程和文本处理的效率。以下是对标题和描述中涉及的一些Vim快捷键的详细解释: 1. **光标移动**:...
大神制作的思维导图版VIM快捷键,在微博上转下来的,很赞……
下面详细介绍一些常用的Vim命令,帮助用户更高效地使用这一强大的工具。 首先,进入Vim的基本命令是`vim [filename]`,这会打开一个名为filename的文件。如果文件不存在,则会创建一个新文件。如果要打开文件的同时...
原版壁纸可能在高分辨率显示器上显示模糊,或者在文字设计上过于简洁,使得初学者在学习Vim命令时难以快速识别。改进后的壁纸应该具备以下特点: 1. **高清晰度**:改进后的壁纸采用了高清图像,确保在各种尺寸的...
以下是一些常用的Vim快捷键和配置技巧: 1. **快捷键配置**: - `i` 进入插入模式。 - `Esc` 或 `Ctrl + [` 返回正常模式。 - `yy` 复制当前行。 - `p` 粘贴。 - `dd` 删除当前行。 - `u` 撤销最近的操作。 ...
用givm,vim就是看上了它的快捷键和命令,这张键盘图上查快捷键很方便哟