tar -xf vim.tar -C ~

vim /etc/vimrc
vim /root/.vimrc
set ts=4 设置tab有多少空格
set ai 自动对齐
set nu
set mouse=a
set shiftwidth=4
shift + . 向左向右缩进
shift + ,

jklh

,cs 性感的注释
,cu 取消注释
,cc 注释一行
,ca 切换单行注释符

选中代码块 按=  自动对齐

ctags -Rn .
ctrl + ]
ctrl + t

二、VIM编辑器的使用

vi vim (增强版vi,现在各版本的linux都带有vim)

三种模式:
普通模式:控制光标移动,删除字符,段落复制(按ESC)
编辑模式:包含插入模式和替换模式,新增文字和修改文字
命令行模式/末行模式:保存文字,离开vim,以及其它设置

vim newfile 新建一vim空白文件进行编辑

普通模式
编辑模式下按ESC切换为普通模式
命令 说明

移动:

h 将光标向左移动一格
l 将光标向右移动一格
j 将光标向下移动一格
k 将光标向上移动一格
^ 光标移动到行首,即第一有效字符位置
0 将光标移动到该行的行首,行的第一格位置
$ 将光标移动到行尾
H 将光标移动到该屏幕的顶端
M 将光标移动到该屏幕的中间
L 将光标移动到该屏幕的底端
gg 将光标移动到文章的首行
G 将光标移动到文章的尾行
w 将光标移动到下一单词
b 将光标移动到上一单词
e 将光标移动到下一单词,光标到下一单词词尾
W 和w功能一样,只不过以.或-或)字符为分界
B 和b功能一样,只不过以.或-或)字符为分界
E 和e功能一样,只不过以.或-或)字符为分界
f f后跟一字符可直接跳到本行光标之后有此字符位置
F F后跟一字符可直接跳到本行光标之前有此字符位置
t 和f一样功能,只不过光标停在要搜索字符前一字符位置
T 和T一样功能,只不过光标停在要搜索字符后一字符位置
zt 将当前位置置于屏幕顶端
zb 将当前位置置于屏幕底端
zz 将当前位置置于屏幕中间
zf 创建折行
zc 折叠
zo 打开折叠
% 跳到匹配的括号
Ctrl+u 将窗口向上移动半屏
Ctrl+d 将窗口向下移动半屏
Ctrl+f 向前滚动一整屏
ctrl+b 向后滚动一整屏
ctrl+g 在窗口下方显示信息,告诉当前文件中的位置和文件名等
Ctrl+o 跳到上次光标位置
‘’ 跳到上次光标位置,和ctrl+o不同,它只能和上一次光标位置和当前位置来回跳转
ctrl+i 和ctrl+o功能相反
m 有名标记,在想要做标记位置按ma, 再到移动其它地方,当想回到做标记位置时,按'a就跳回做标记位置

简单搜索:

/ /后跟要搜索的关键词
n 移到下一个找到关键词位置
/\<the 找以the开头的关键词
/the\> 找以the结尾的关键词
/t.e 中间替换任何一个字符搜索关键词
* 移动关键词按*,会自动高亮,再按n就可查找此关键词

操作符命令:

x 删除当前光标下的字符,相当于dl,d 和 l的组合使用
X 删除当前光标前一个字符,相当于dh
u 恢复上一次命令,针对字符
U 恢复上一次命令,针对行
ctrl+r 和u相匹配重做
r 替换当前光标位置字符
dw 删除一个单词
D 删除当前光标后面所有字符,相当于d$
d^ 删除当前光标前面所有字符
d0 删除当前光标前所有的字符,置行首
dd 删除一行
c 和d功能一样,只不过删除完会进入插入模式
yy 选定光标所在行复制
p 粘贴yy复制的行,贴在光标所在位置之右
P 粘贴yy复制的行,贴在光标所在位置之左
cw 删除光标所在的单词并且进入插入状态
R 进入替换模式
i 在当前位置进入插入模式
I 将光标移动到行首进入插入模式
o 在本行向下新建一行进入插入模式
O 在本行向上新建一行进入插入模式
a 将光标之后进入插入模式
A 将光标移动到行尾进入插入模式
s 删除光标位置字符进入插入模式,相当于cl
S 删除光标所在行进入插入模式,相当于cc
. 重复上一次命令
V 进入可视模式
~ 改变当前光标下字符的大小写

可视模式:

vjjjjd 选中四个字符删除
Ctrl+v 可选择列进行操作

d 和 p 组合使用
d 删除相当于剪切,并没有完全丢掉,再按p可以粘贴

交换两个字符
x和p组合使用

命令行模式:

: 进入命令行模式

filetype plugin indent on
开启自动识别文件类型,自动用对应文件类型的搭配编辑选项

map <F5> ihello<ESC> 键盘映射F5插入hello单词

set number 显示行号
set nonumber 关闭行号,所有命令前加no为关闭
set ruler 在右下角显示当前光标位置
set autoindent 开始新行时对该行施行上一行缩进方式
set nocompatible 不完全与Vi兼容,所以确保关闭
set nowrap 不要折行显示
set list 显示制表符
syntax enable 打开色彩
colorscheme evening 切换颜色方案

set ignorecase 忽略大小写搜索
set hlsearch 在关键词上按*,自动高亮
set incsearch 搜索时输入一个字符会自动跳到匹配位置,按回车再确定是否要搜索此关键词
set nowrapscan 搜索到头就停止,默认搜索到头会到最后一个匹配位置

marks 查看关于标记的列表
scriptnames 查看vimrc的具体名称和位置
options 新窗口注释选项列表

split 横分一新窗口
3split 指定新分的窗口高度为3
vsplit 竖分一新窗口
3vsplit 指定新分窗口宽度为3

Ctrl+w w 窗口之间切换

! 执行shell命令
r! 执行shell命令并把结果插入到当前光标位置
o 后面跟文件路径,可以横分屏打开文件
O 后面跟文件路径,可以竖分屏打开文件
w 保存
q 退出
qall 全部退出
wqall 全部保存退出
qall 全部强制退出

s/if/hello/ 把本行的第一个if替换成hello
1,$s/if/hello/ 把第一行到最后一行的每行的第一个if替换成hello
1,$s/if/hello/g 把第一行到最后一行的每行的if替换成hello
:240 快速定位到240行

打开多个文档

vim -o a.txt b.txt 横屏打开两文件
vim -O a.txt b.txt 竖屏打开两文件
vim a.txt +42 打开a.txt光标定到42行

vim使用总结的更多相关文章

  1. 如何创建Vim Dotfile?

    Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...

  2. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  3. vim安装中文帮助手册

    安装方法:   在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...

  4. vim环境变量配置、背景色配置

    我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...

  5. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

  6. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  7. VIM教程

    vim 的环境设定参数 :set nu :set nonu             就是设定与取消行号啊! :set hlsearch :set nohlsearch     hlsearch 就是 ...

  8. 在 Linux 打造属于自己的 Vim

    Linux 系统中很多东西都是以脚本代码.配置文件的形式存在,使用 Linux 系统时,需经常对这些文件进行编辑.很显然,如果没有文本编辑器,江湖之路寸步难行. 我的选择是 Vim.Vim 是 Lin ...

  9. 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE

    C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...

  10. Vim新手入门资料和一些Vim实用小技巧

    一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为阿里巴巴高级技术专 ...

随机推荐

  1. 【VMware虚拟化解决方案】设计和配置VMware vCenter 5.5

    在这之前,我们已经对VMware ESXi 5.5进行了整个环境的设计和规划,虽然安装VMware ESXi 5.5在CPU的选型.网络的设计.共享存储的方式.虚拟化资源的需求和安装ESXI的模式等一 ...

  2. [转]javascript js cookie的存储,获取和删除

    本文转自:http://www.jb51.net/article/13240.htm 使用方法: //1.存储Cookie //2.参数说明: 1.参数1:Cookie存储Name,参数2:Cooki ...

  3. 关于XShell的常见使用和设置以及Linux中的常见命令.

    本文部分转自:http://sundful.iteye.com/blog/704079 和 http://www.vckai.com/p/5 有时候在XShell中操作的一些命令傻傻的分不清这个命令到 ...

  4. merge into update

    如果要DML实现真正意义上的并发,在开始执行需要并发语句前,需要执行开启session并发  ALTER SESSION ENABLE PARALLEL DML;  在执行完语句后,需要执行关闭ses ...

  5. EF中"实体类型 XXXXX 不是当前上下文的模型的一部分。" 原因

    用T4模版生成的数据库映射文件.cs对应不上数据库的字段而引起的错误(我是修改了cs里面的属性),只要根据数据库字段,修改回来就OK.问题就解决了.

  6. T-SQL 使用链接库向mysql导数据遇到的奇葩事件一

    mysql表结构有 主键 非自增 text longtext类型字段多个 步骤 1.在T-SQL 临时表中处理好所有需要的字段 2.执行openquery语句 字段顺序完全按照mysql字段顺序插入 ...

  7. Java Thread UncaughtExceptionHandler

    有没有发生过这样的情况,你写的工作线程莫名其妙的挂了,如果不是被你刚好看到,拿只能抓瞎了,不知道啥原因了,因为异常的时候只会把stack trace打在控制台上,不会记在你想记得错误日志里,头皮都抓破 ...

  8. Oracle中NVARCHAR2字符集不匹配问题

    Oracle中在做字符匹配时 遇到 NVARCHAR2 类型时报错,提示 字符集不匹配. 对使用 NVARCHAR2 的地方,需要对字段进行字符转换,加上 to_char(nvarchar2 字段) ...

  9. iOS预处理指令

    预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器.可见预处理过程先于编译器对源代码进行处理. 预处理指令是以#开头的代码行,#后是指令关键字,在关键字和#号之间允许存在任意个数的空 ...

  10. JQuery验证工具

    一.写法一 var Validator = { // 邮箱isEmail : function(s) {var p = "^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z ...