VIM命令集
| Command | Action | Notes |
| vim file +54 | open file and go to line 54 | any : command can be run using + on command line |
| vim -O file1 file2 | open file1 and file2 side by side | |
| Insert | enter insert mode | so you can start typing. Alternatively one can use i ora. |
| Esc | leave insert mode | so you can issue commands. Note in VIM the cursor keys & {Home, End, Page{up,down}} and Delete and Backspace work as expected in any mode, so you don't need to go back to command mode nearly as much as the origonal vi. Note even Ctrl+{left,right} jumps words like most other editors. Note also Ctrl+[ and Ctrl+c are equivalent to Esc and may be easier to type. Also Ctrl+o in insert mode will switch to normal mode for one command only and automatically switch back. |
| :command | runs named command | |
| :help word | shows help on word | Typing Ctrl+d after word shows all entries containing word |
| :echo &word | shows value of word | |
| windows | ||
| :e | set buffer for current window | you can optionally specify a new file or existing buffer number (#3 for e.g.). Note if you specify a directory a file browser is started. E.g. :e . will start the browser in the current directory (which can be changed with the :cd command). |
| :sp | new window above | ditto |
| :vs | new window to left | ditto |
| :q | close current window | |
| :qa | close all windows | add trailing ! to force |
| Ctrl+w {left,right,up,down} | move to window | |
| Ctrl+w Ctrl+w | toggle window focus | |
| Ctrl+w = | autosize windows | to new terminal size for e.g. |
| :ba | new window for all buffers | ":vert ba" tiles windows vertically |
| buffers | ||
| :ls | list buffers | |
| gf | open file under cursor | |
| :bd | delete buffer | and any associated windows |
| :w | save file | Note :up[date] only writes file if changes made, but it's more awkward to type |
| :sav filename | save file as filename | Note :w filename doesn't switch to new file. Subsequent edits/saves happen to existing file |
| undo/redo | ||
| u | undo | |
| Ctrl+r | redo | |
| . | repeat | |
| navigation | ||
| gg | Goto start of file | |
| G | Goto end of file | |
| :54 | Goto line 54 | |
| 80| | Goto column 80 | |
| Ctrl+g | Show file info | including your position in the file |
| ga | Show character info | g8 shows UTF8 encoding |
| Ctrl+e | scroll up | Ctrl+x needed first for insert mode |
| Ctrl+y | scroll down | Ctrl+x needed first for insert mode |
| zt | scroll current line to top of window | |
| w | Goto next word | Note Ctrl+{right} in newer vims (which work also in insert mode) |
| b | Goto previous word | Note Ctrl+{left} in newer vims |
| [{ | Goto previous { of current scope | |
| % | Goto matching #if #else,{},(),[],/* */ | must be one on line |
| zi | toggle folds on/off | |
| bookmarks | ||
| m {a-z} | mark position as {a-z} | E.g. m a |
| ' {a-z} | move to position {a-z} | E.g. ' a |
| ' ' | move to previous position | |
| '0 | open previous file | handy after starting vim |
| selection/whitespace | ||
| v | select visually | use cursor keys, home, end etc. |
| Shift+v | line select | CTRL+v = column select |
| Delete | cut selection | |
| "_x | delete selection | without updating the clipboard or yank buffer. I remap x to this in my .vimrc |
| y | copy selection | |
| p | paste (after cursor) | P is paste before cursor |
| "Ay | append selected lines to register a | use lowercase a to initialise register |
| "ap | paste contents of a | |
| gq | reformat selection | justifies text and is useful with :set textwidth=70 (80 is default) |
| = | reindent selection | very useful to fix indentation for c code |
| > | indent section | useful with Shift+v% |
| < | unindent section | remember . to repeat and u to undo |
| :set list! | toggle visible whitespace | See also listchars in my .vimrc |
| clipboard shortcuts | ||
| dd | cut current line | |
| yy | copy current line | |
| D | cut to end of line | |
| y$ | copy to end of line | |
| search/replace | ||
| /regexp | searches forwards for regexp | ? reverses direction |
| n | repeat previous search | N reverses direction |
| * | searches forward for word under cursor | # reverses direction |
| :%s/1/2/gc | search for regexp 1 and replace with 2 in file | c = confirm change |
| :s/1/2/g | search for regexp 1 and replace with 2 in (visual) selection | |
| programming | ||
| K | lookup word under cursor in man pages | 2K means lookup in section 2 |
| :make | run make in current directory | |
| Ctrl+] | jump to tag | Ctrl+t to jump back levels. I map these to Alt+⇦⇨ in my .vimrc |
| vim -t name | Start editing where name is defined | |
| Ctrl+{n,p} | scroll forward,back through autocompletions for word before cursor | uses words in current file (and included files) by default. You can change to a dictionary for e.g: set complete=k/usr/share/dicts/words Note only works in insert mode |
| Ctrl+x Ctrl+o | scroll through language specific completions for text before cursor | "Intellisense" for vim (7 & later). :help compl-omni for more info. Useful for python, css, javascript, ctags, ... Note only works in insert mode |
| external filters | ||
| :%!filter | put whole file through filter | |
| :!filter | put (visual) selection through filter | |
| :,!command | replace current line with command output | |
| map <f9> :w<CR>:!python %<CR> | run current file with external program | |
(来源:http://www.pixelbeat.org/vim.tips.html)
VIM命令集的更多相关文章
- linux---Vim命令集
Vim命令集 命令历史 以:和/开头的命令都有历史纪录,能够首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗体中输入下面命令就可以 vim 直接启动vim vim filena ...
- [转载]VIM命令合集
Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录, ...
- Vim命令合集(四)
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- 【转】Vim命令合集
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- Vim命令大全
1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于 ...
- Mysql 常用命令集
1.mysqlbinlog工具使用方法如下: 先使用 show binary logs 查看 在使用导出命令 mysqlbinlog -R -uroot -pxxxx -hxxx.xxx.xxx.xx ...
- 【转】vim 命令
Vim命令合集 建议直接看原文:(排版有些乱) 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接 ...
- centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课
centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB ...
- linux下vim命令
进入vim的命令 vim filename :打开或新建文件,并将光标置于第一行首 vim +n filename :打开文件,并将光标置于第n行首 vim + filename :打开文件,并将光标 ...
随机推荐
- Canny边缘检測算法原理及其VC实现具体解释(一)
图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般能够看作是一个阶跃,既从一个灰度值在非常小的缓冲区域内急剧变化到还有一个灰度相差较大的灰度值.图象的边缘部分集中了图象的大部分信息,图 ...
- 【IOS实例小计】UIImageView
预备知识: UIImage 是一个专门存储图片数据的对象,默认兼容的图片格式是 PNG,可以通过文件.Quartz image对象或 image Data数据得到一个图片对象. UIImage相关功能 ...
- 被忽视的TWaver功能(1)
应客户需求写个Demo,Demo中包括一些经常使用的功能.包括解析JSON数据生成TWaver中的网元和连线.网元右下角带上不同标识的小图标,连线须要是二次曲线.弹出菜单和信息板.跟大家分享下.先上图 ...
- Lucene.Net 2.3.1开发介绍 —— 一、接触Lucene.Net
原文:Lucene.Net 2.3.1开发介绍 -- 一.接触Lucene.Net 1.引用Lucene.Net类库找到Lucene.Net的源代码,在“C#\src\Lucene.Net”目录.打开 ...
- Android应用开发学习笔记之播放视频
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在Android中,我们可以通过使用VideoView类或者MediaPlayer类来播放视频. 一.使用Video ...
- opencv做的美女找茬程序~
// CMP.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <cv.h> #include <high ...
- ANDROID 中设计模式的採用--创建型模式
所谓模式就是在某一情景下解决某个问题的固定解决方式. 全部的创建型模式都是用作对象的创建或实例化的解决方式. 1 简单工厂模式 创建对象的最简单方法是使用new来创建一个对象,假设仅仅创建一种固 ...
- Swift - 故事板storyboard的用法
故事板(UIStoryboard)可以很方便的进行界面的设计,下面总结了常用的几个操作方法: 1,初始场景 选中View Controller,在属性面板里勾选Is Initial View Cont ...
- html name id, 与服务器交互必须有name
html name id, 与服务器交互必须有name 在HTML中元素的ID和Name的区别和联系. 今天写了个测试,在php脚本里怎么也获取不到$_POST['userName']的值,经检查在h ...
- java学习笔记-Thread
java定义了创建线程的两种方法 1.实现Runnable接口 2.扩展Thread类本身 1.实现Runnable接口: 可以依托任何Runnable接口的对象来创建线程.但是为了实现Runnabl ...