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. 将来自另一个分支的所有更改合并为单个提交
  2. [C++]Call virtual member function in constructor or destructor
  3. Boghe连接FreeSwitch的配置
  4. script到底应该放在哪里
  5. “25岁该有多少存款? ” 数据分析带你揭露中国打工人的工资真相
  6. 跟KingDZ学HTML5之九 HTML5新的 Input 种类
  7. vue脚手架项目中引入jquery
  8. Java架构师技术进阶路线图详解
  9. html字数统计,html页面字数统计
  10. 本科生如何快速发表期刊论文,如何选择普刊?
  11. json几种不同解析方式
  12. vue+websocket+nodejs实现聊天室 -一对多、一对一聊天
  13. 《哈佛通识教育红皮书》 哈佛委员会著
  14. 妙味课堂:JavaScript初级--第11课:字符串、查找高亮显示
  15. oracle php 教程 pdf,AJAX+PHP+Oracle数据库Web开发 ((美)Lee Barney) 中文PDF扫描版 37.5M
  16. linux 查询文件大小大于1g_必备linux命令有哪些?你了解多少
  17. 普元EOS中, 子系统和portal不在同一个域中,使用jquery的jsonp来解决portal跨域访问
  18. 一、JSX语法的基本使用
  19. 已开源!Flutter 流畅度优化组件 keframe
  20. 用计算机模拟股票大盘,股票模拟盘操作与实盘不同之处有哪些

热门文章

  1. 2011年最后一篇博客—就医感慨!
  2. Leetcode 621. 任务调度器 解题思路及C++实现
  3. python三十三节_第三十三节,sys解释器相关模块
  4. Spring Boot使用缓存功能
  5. 【BLE】TLSR8258开发记录之12--手机扫描蓝牙显示中文
  6. rank--求矩阵的秩
  7. 用宏定义实现函数值互换
  8. 在二叉树中找值为x的结点(假设所有结点的值都不一样)
  9. LSTM实现股票预测--pytorch版本【120+行代码】
  10. 生产者跟消费者问题(C++实现)