vim使用总结
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使用总结的更多相关文章
- 如何创建Vim Dotfile?
Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- vim安装中文帮助手册
安装方法: 在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...
- vim环境变量配置、背景色配置
我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...
- vim+vundle配置
Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- VIM教程
vim 的环境设定参数 :set nu :set nonu 就是设定与取消行号啊! :set hlsearch :set nohlsearch hlsearch 就是 ...
- 在 Linux 打造属于自己的 Vim
Linux 系统中很多东西都是以脚本代码.配置文件的形式存在,使用 Linux 系统时,需经常对这些文件进行编辑.很显然,如果没有文本编辑器,江湖之路寸步难行. 我的选择是 Vim.Vim 是 Lin ...
- 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE
C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...
- Vim新手入门资料和一些Vim实用小技巧
一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为阿里巴巴高级技术专 ...
随机推荐
- Android(java)学习笔记73:线程组的概述和使用
Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制. (1)默认情况下,所有的线程都属于主线程组. public final Thre ...
- 【gradle报错】error: package org.apache.http does not exist
导入项目的时候gradle报错 error: package org.apache.http does not exist 解决方法: 在build.gradle中加入 android { use ...
- InvocationTargetException
在使用反射的适合,调用的方法无论抛出什么异常,都会变成InvocationTargetException,要想得到原始的异常,必须使用getTargetException()
- 【三分搜索算法】UVa 10385 - Duathlon
题目链接 题意:“铁人三项”比赛中,需要选手在t km的路程里进行马拉松和骑自行车项目.现有n名选手,每位选手具有不同的跑步速度和骑车速度.其中第n位选手贿赂了裁判员,裁判员保证第n名选手一定会取得冠 ...
- poj 1523 求割点
思路:对于所有节点,每次找的子树,key[root]++;输出时,对于根节点就输出key[root],对于其它节点i,输出key[i]+1; #include<iostream> #inc ...
- Microsoft.SharePoint.Security的问题
请求“Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0 ...
- Microsoft.Practices.EnterpriseLibrary企业库问题
System.Configuration.ConfigurationErrorsException: Invalid TraceListenerData type in configuration ' ...
- Linux 命令 - fg & bg: 将进程切换到前台(后台)运行
后台运行的进程不会受到任何键盘的影响,包括试图用来中断它的 Ctrl-C 键.想要使得进程返回到前台来运行,可以使用 fg 命令来实现. 可以通过在 fg 命令后面加上百分比符号和作业编号(称为 jo ...
- SQL Server 2008下日志清理方法
1.将数据库设置成 简单 模式 选择要收缩的数据库,点右键 属性->选项,选择 简单模式 2.选择任务->收缩->文件 3.选择日志
- virtualbox下Centos6.5桥接模式上网配置方法
记得之前安装linux配置桥接模式,马上就能上网的,虚拟机上重装了系统后就不能上网了,折腾了好几次,不停地安装系统,原来应该怎么配置,我真是完全忘记了,年纪大了脑子不好使了!这里记录一下,免得下次再忘 ...