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入门 目前为阿里巴巴高级技术专 ...
随机推荐
- css笔记17:盒子模型加强版的案例
1.先看看经典案例效果图,导出思路: 分析:思路 基本结构 <div> <ul> <li><img src=""/> </li ...
- Android(java)学习笔记117:英文朗诵android App编写实例
1.首先,我先把代码放到下面: package com.himi.speaker; import java.util.Locale; import android.app.Activity; impo ...
- POJ 3253 Fence Repair (贪心)
Fence Repair Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- CF Drazil and Date (奇偶剪枝)
Drazil and Date time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- LeetCode 142
Linked List Cycle II Given a linked list, return the node where the cycle begins. If there is no cyc ...
- [改善Java代码]注意Class类的特殊性
Java语言是先把Java源文件编译成后缀为class的字节码文件,然后再通过ClassLoader机制把这些类文件加载到内存中,最后生成实例执行的,这是Java处理的基本机制,但加载到内存中的数据是 ...
- 【数论,水题】UVa 11728 - Alternate Task
题目链接 题意:给出一个数S,求一个最大的数,使这个数所有的因子之和为S; 这个所谓“因子之和”不知道有没有误导性,因为一开始以为得是素数才行.后来复习了下小学数学,比如12的因子分别是1,2,3,4 ...
- poj 2728 最优比率生成树
思路:设sum(cost[i])/sum(dis[i])=r;那么要使r最小,也就是minsum(cost[i]-r*dis[i]);那么就以cost[i]-r*dis[i]为边权重新建边.当求和使得 ...
- 转:iOS基于MVC的项目重构总结
转:http://www.cocoachina.com/ios/20160519/16346.html 关于MVC的争论 关于MVC的争论已经有很多,对此我的观点是:对于iOS开发中的绝大部分场景来说 ...
- css禁止双击dom节点被选中user-select:none
css禁止dom节点被选中: 当某个dom节点在快速重复点击的时候出现这个节点被选中,有时候其实并不希望出现这种情况,比如我们使用一个span或者a标签做为按钮dom元素的时候,快速双击这个按钮,就 ...