http://www.xprogrammer.com/909.html

基础

: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基础130命令相关推荐

  1. Vim实战指南(一):基础编辑命令

    原文地址:Vim实战指南(一):基础编辑命令 Introduction Vim和Emacs作为两大神级文本编辑器各有利弊,本实战指南不加讨论的介绍Vim. 本实战指南不是教你按照Vim的键位图来编辑文 ...

  2. vim基础保存退出命令

    vim基础保存退出命令 vim xxx.file 输入文件内容: ins 按键,切换插入和增加 按 ESC,左下角就可以进行输入 :w 保存但不退出 :wq 保存并退出 :q 退出 :q! 强制退出, ...

  3. Linux配置最基础的命令

    Linux配置最基础的命令 Linux设置最基础的命令 切换用户 查看当前主机的完整名称 临时设置主机名 永久设置主机名 查看当前系统版本信息 查看当前内核版本 临时修改网卡IP 永久修改网卡IP 重 ...

  4. ubuntu vim保存退出命令_vim极为详细的教程(一)基本操作

    vim的总体介绍 我以前是坚定的vim党,但后来用了一次vscode,便再也出不来了.vscode虽然功能强大,但本质上任然是个编译器,它强大的功能来自于对各种经典工具的灵活调用,vscode开发C+ ...

  5. linux vim tag,Vim基础知识之ctags 及 Taglist 插件

    Vim基础知识之ctags 及 Taglist 插件 1. 我的界面 2. ctags exuberant ctags是一般Linux系统上缺省的ctags 我的ctags版本:Exuberant C ...

  6. Linux基础、命令及相关软件安装

    文章目录 一.Linux的简介 1.Linux的概述 2.Linux的分类 3 . 文件系统结构 二.Linux的安装 1.虚拟机的安装 2.CentOS的安装 三.Linux的基本命令 1.目录切换 ...

  7. Vim 基础操作命令

    Vim 操作基础 零.备注及说明 一.什么是 Vim? 二.Vim 模式介绍 三.Vim 快速入门 1. 三种常用模式切换 2. 进入Vim 3. 进入插入模式 4. 保存文件 5. 退出文件 6. ...

  8. Linux基础及命令大全(入门级教学基础命令)

    Linux基础及命令大全(入门级教学基础命令) 一.什么是shell,Linux的格式 shell就是Linux系统中运行的一种程序,也是用户和内核之间的翻译官,Bash是Linux系统中默认使用的s ...

  9. 【从入门到进阶】vim基础配置+ 常用插件(NERDTree, cscope, rainbow等)

    文章目录 前言 一.vim基础配置 二.常用插件 2.1 Vundle 2.1.1 Vundle安装 2.1.2 Vundle配置 2.1.3 安装插件 2.1.4 Vundle常用指令 2.2 NE ...

最新文章

  1. 【目标检测】(8) ASPP改进加强特征提取模块,附Tensorflow完整代码
  2. java 静态方法 实例方法的区别_java 静态方法和实例方法的区别
  3. chengren-成人-php系列3
  4. ckeditor回显带标签_Spring Boot中带有CKEditor的AJAX
  5. Flex的动画效果与变换(1)
  6. ai python 代码提示插件_Python 还能实现哪些 AI 游戏?附上代码一起来一把!
  7. 不这样做,同名互踢容易踩坑!
  8. 商务图表案例——仿经济学人分组漏斗图~
  9. 国家地区标准代码(国际域名缩写)
  10. 闪耀光栅 (DMD) 的衍射效应
  11. mixly编程怎样音乐_Mixly编程之MP3模块的使用方法
  12. 文件同步工具Unison
  13. 基于BPM(业务流程管理)的低代码开发平台有哪些优势?
  14. 分布电容和杂散电容_部分电容和杂散电容
  15. android excel在线,Excel在线编辑
  16. html 不自动缩放,html 禁止缩放
  17. 国内银行应用软件项目外包模式探讨
  18. 例题6-13 古代象形符号(Ancient Messages,World Finals 2011,UVa 1103)
  19. Android手机通讯录备份和恢复项目
  20. 在5个月内从Carpenter到前端开发人员

热门文章

  1. 关于微信小程序的好奇和多事
  2. Java实现算法导论中快速傅里叶变换FFT递归算法
  3. linux mysql卸载_Linux环境搭建
  4. 转载:分享一下免费的ppt网站(好看,免费)
  5. js实现textarea根据内容大小自适应高度
  6. 在字符串中查找指定的字符串--strstr
  7. STM32的串口函数_库函数USART_SendData问题和解决方法--硬件复位导致第一个字节丢失
  8. 信号公式汇总之傅里叶变换
  9. CTFshow php特性 web125
  10. CTFshow 信息收集 web18