`

常用的 vim 命令快捷键

    博客分类:
  • Vim
阅读更多

基础

: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 常用快捷键知识点 #### 一、引言 Vim 是一款功能强大的文本编辑器,广泛应用于各种操作系统之中,特别是 Linux 和 Unix 平台。它源自 vi 编辑器,但添加了许多增强功能,使得它更加高效且易于定制。本文将...

    vim常用快捷键和配置设置

    以下是一些关于Vim常用快捷键、配置和插件的详细说明: 1. **Vim中的Tab操作**:在Vim中,Tab键可以用于缩进代码,但也可以通过配置实现其他功能。例如,你可以设置`map &lt;Tab&gt; &gt;i`使得在插入模式下按下Tab键进行...

    Windows快捷键与Vim快捷键冲突解决

    - 找到与系统快捷键冲突的Vim命令,例如: ``` " 原始代码 map &lt;C-a&gt; :call WinSelectAll() " 注释后的代码 " map &lt;C-a&gt; :call WinSelectAll() ``` 4. **保存并重启Vim**:保存文件后重新启动Vim,以确保新的...

    alex0227#alex0227.github.io#2017-9-8-linux vim常用快捷键1

    title: Linux vim快捷键description: Linux vim快捷键keywords: Linux 终端 快捷键vim常用快捷键命令模式默认

    VI&VIM常用命令及快捷键.pdf

    下面是VI和VIM中常用的一些命令和快捷键知识点: 1. 光标移动: - h, j, k, l:分别对应左,下,上,右移动。 - G:移动到文件最后一行。 - gg:移动到文件第一行。 - nG:移动到文件的第n行。 - n&lt;space&gt;:向右...

    VIM快捷键.xlsx

    VIM常用快捷键整理,包括各种组合快捷键、命令模式,输入模式以及底线命令模式等等

    vim 常用快捷键记录

    “vim 常用快捷键记录” Vim 编辑器是 Unix 系统中一个功能强大且灵活的文本编辑器,用户可以通过键盘快捷键来快速地编辑文本。以下是 Vim 编辑器中常用的快捷键记录: 光标移动 * h 左移光标,j 下移光标,k 上...

    vim最常用快捷键总结

    经过多次总结补充的常用vim快捷操作,全部为常用操作

    vim快捷键使用说明

    本文将详细介绍VIM的一些常用快捷键及其应用场景,帮助用户更高效地使用Vim进行文本编辑。 #### 二、光标定位快捷键 1. **H**: 将光标定位到屏幕上方。 2. **M**: 将光标定位到屏幕中间。 3. **L**: 将光标定位到...

    VI&VIM常用命令及快捷键

    ### VI&VIM常用命令及快捷键:深入解析 #### 光标控制命令:精确操控文档每一处 在VI和VIM编辑器中,光标控制是基础且关键的操作之一,它允许用户精确地移动光标,从而进行文本编辑。以下是一些常用的光标移动命令...

    Linux之vim命令汇总.docx

    "Linux之vim命令汇总" Vim 编辑器是 Linux 中的一款功能强大且灵活的文本编辑器,广泛应用于各种 Linux 系统中。 Vim 编辑器提供了丰富的快捷键和命令,帮助用户快速高效地完成文本编辑任务。下面是 Vim 编辑器中...

    VIM命令、快捷键使用介绍

    以下是一些常用正常模式命令: - 移动光标: - `h` 左移,`j` 下移,`k` 上移,`l` 右移 - `0` 移动到行首,`$` 移动到行尾 - `gg` 移动到文件开头,`G` 移动到文件末尾 **2. 插入模式** 要开始编辑文本,需...

    vim快捷键(实用版)

    以下是一些 Vim 的常用快捷键及其功能: **光标移动:** - `k`:上移光标 - `h`:左移光标 - `l`:右移光标 - `j`:下移光标 - `Ctrl + f`:向下翻一页 - `Ctrl + b`:向上翻一页 - `Ctrl + d`:向下翻半页 - `Ctrl...

    vim 命令 键盘图

    `vim命令图解.png`可能是详细解析各种Vim命令的图表,这些命令包括文本对象选择(如aw - 一个单词,ip - 一个句子),可视模式(`v`,`V`,`Ctrl + v`分别对应字符、行、块选择),以及文本操作(`.`重复上一次动作...

    常用vim快捷键

    Vim是一款强大的文本编辑器,以其高效的编辑能力和丰富的快捷键集而闻名。了解并熟练使用Vim的快捷键能够极大地提升编程和文本处理的效率。以下是对标题和描述中涉及的一些Vim快捷键的详细解释: 1. **光标移动**:...

    大神制作的思维导图版VIM快捷键

    大神制作的思维导图版VIM快捷键,在微博上转下来的,很赞……

    Vim 常用命令

    下面详细介绍一些常用的Vim命令,帮助用户更高效地使用这一强大的工具。 首先,进入Vim的基本命令是`vim [filename]`,这会打开一个名为filename的文件。如果文件不存在,则会创建一个新文件。如果要打开文件的同时...

    vim命令壁纸改进

    原版壁纸可能在高分辨率显示器上显示模糊,或者在文字设计上过于简洁,使得初学者在学习Vim命令时难以快速识别。改进后的壁纸应该具备以下特点: 1. **高清晰度**:改进后的壁纸采用了高清图像,确保在各种尺寸的...

    linux mac vim配置

    以下是一些常用的Vim快捷键和配置技巧: 1. **快捷键配置**: - `i` 进入插入模式。 - `Esc` 或 `Ctrl + [` 返回正常模式。 - `yy` 复制当前行。 - `p` 粘贴。 - `dd` 删除当前行。 - `u` 撤销最近的操作。 ...

    gvim、vim快捷键图

    用givm,vim就是看上了它的快捷键和命令,这张键盘图上查快捷键很方便哟

Global site tag (gtag.js) - Google Analytics