vim 技巧

本文介绍如何通过配置.vimrc文件实现Vim编辑器的个性化设置,并提供了一系列提高编辑效率的实用命令,包括自动缩进、语法高亮、快捷键使用及正则表达式操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

set nocompatible
"使vim不保持和老版本vi的兼容

"set autoindent
"设置自动缩进

"set smartindent
"智能缩进,类似于C的编程语法

set hls        
"查找文本高亮
"set nohls
"关闭高亮显示

set tabstop=4  
"设置tab键为4个空格

set showmatch  
"括号匹配,类似当输入一个左括号时会匹配相应的右括号

"set history=1000
"记录历史行数1000

"set background=dark
"背景颜色使用黑色

"set nu        
"显示行号

set wrapscan  
"允许查找时自动环绕文件


set shiftwidth=4
"设置自动缩进时缩进的宽度

"syntax on      
"设置语法高亮

"filetype on
"文件类型探测

set cindent     
"打开c缩进模式

"set guioptions-=T
"去掉vim的gui版本中的toolbar

"set vb t_vb=
"在编辑过程中,如果命令错误,会发出一个响声,该设置去掉响声

set ruler
"在编辑过程中,在右下角显示光标位置行

let Tlist_Use_Right_Window=1
"方法列表放在屏幕右侧

let Tlist_File_Fold_Auto_Close=1
"让当前不被编辑的文件的方法列表自动折叠起来



"bash IDE脚本定义
 "文件头注释
"let g:BASH_AuthorName = "Winux"
"let g:BASH_Email      = shuiguomayi@gmail.com

用vim写fortran代码时,在一些行前面的空白处会被某种色彩填充。很是难看。
上网找到了一种解决办法:
即在.vimrc中,在
syntax on
之前加上一行
let fortran_have_tabs=1

=====================================
]p:和 p 的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。试一下!
%:匹配花括号、方括号、括号等。在一个括号的上面,然后按 %,鼠标就会出现在匹配的另外一半括号处。
>>:缩进所有选择的代码
<<:和上面类似,但是反缩进
gd:到达光标所在处函数或者变量的定义处。 (go to define)
K:在 Man 里面查找光标当前所在处的词。
----------
:n,m co k 复制n到m行,粘贴到k行处(从下一行开始)(co是copy的简写)
:n,m m k 剪切n到m行,粘贴到k行处(从下一行开始) (m是move的简写)
:n,m d 删除n到m行                           (d是delete的简写)
---------------
Vim高级编辑要用到正则表达式的各种技巧,先简单介绍基本的原字符集及其含义:
^ --只匹配行首
$ --只匹配行尾
* --匹配0个或多个单字符
[] --匹配[]内字符,可以是一个单字符,也可以是字符序列,可是用-表示[]内字符序列范围,
如用[1-5]表示[12345]。
. --匹配任意单字符
^$ --匹配空行
在vi中也可以使用这些正则表达式。它也有它自己的语法格式,不过匹配方式类似,比较一下很容易看出。下面给出几个常用的操作:
1、把文件内容反转,第一行成为最后一行,第二行成为倒数第二行,以此类推 :g/^/m0
2、在整个文件中替换特定字符串 :%s/原文件的内容/替换成的内容/g
例如:去掉文件中的"^M"等控制符 :1,$s/^M//g (或者:%s/^M//g)
3、在每一行文本前加同样的字符 :%s/^/要加的内容/g
4、在每一行文本后加同样的字符 :%s/$/要加的内容/g
5、在第2行行首加入内容 :2s/^/要加的内容/g
6、在第1,2行行首加入内容 :1,2s/^/要加的内容/g
7、删除第1,2行行首的内容 :1,2s/^要删除的内容/g
8、删除第2行行尾的内容 :2s/要删除的内容$/g
9、删除第5行包含的字符串 :5s/要删除的字符串/g
10、删除从当前行开始到最后一行的所有内容 :[dot][comma]$d【注意,冒号后面紧跟“点”(表示当前行),然后跟一个“逗号”,加“$”(表示最后一行),d表示删除。】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值