首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux vimrc常见配置

Linux vimrc常见配置

作者头像
全栈程序员站长
发布2022-08-25 17:06:10
发布2022-08-25 17:06:10
3.1K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

code

效果

set ignorecase

搜索模式里忽略大小写

set number

设置vim显示代码行号

set nonumber

取消vim显示代码行号

set relativenumber

显示光标所在的当前行的行号,其他行都为相对于该行的相对行号

set cursorline

光标所在的行下加一根下划线

set smartcase

如果搜索模式包含大写字符,不使用 ‘ignorecase’ 选项。只有在输入搜索模式并且打开 ‘ignorecase’ 选项时才会使用

set autowrite

自动把内容写回文件也就是自动保存

set autoindent

设置自动对齐(缩进):即每行的缩进值与上一行相等;使用 noautoindent 取消设置

set smartindent

智能对齐方式

set tabstop=4

设置制表符(tab键)的宽度

set softtabstop=4

设置软制表符的宽度

set shiftwidth=4

(自动) 缩进使用的4个空格

set showmatch

设置匹配模式,显示匹配的括号

set hlsearch

设置高亮显示搜索字符串

set nocompatible

不与 Vi 兼容(采用 Vim 自己的操作命令)

syntax on

打开语法高亮,自动识别代码,使用多种颜色显示

set showmode

在底部显示,当前处于命令模式还是插入模式

set showcmd

命令模式下,在底部显示,当前键入的指令。比如输入快捷键将在底部显示具体命令

set mouse=a

支持使用鼠标

set encoding=utf-8

使用 utf-8 编码

set t_Co=256

启用256色

set autoindent

按下回车键后,下一行的缩进会自动跟上一行的缩进保持一致

set tabstop=2

按下 Tab 键时,Vim 显示的空格数

set shiftwidth=4

在文本上按下 >(增加一级缩进)、<(取消一级缩进)或者==(取消全部缩进)时,每一级的字符数。

set textwidth=80

设置行宽,即一行显示多少个字符

set wrap

自动折行,即太长的行分成几行显示

set nowrap

关闭自动折行

set linebreak

只有遇到指定的符号(比如空格、连词号和其他标点符号),才发生折行。也就是说,不会在单词内部折行

set wrapmargin=2

指定折行处与编辑窗口的右边缘之间空出的字符数

set scrolloff=5

垂直滚动时,光标距离顶部/底部的位置(单位:行)

set sidescrolloff=15

水平滚动时,光标距离行首或行尾的位置(单位:字符)。该配置在不折行时比较有用

set laststatus=2

是否显示状态栏。0 表示不显示,1 表示只在多窗口时显示,2 表示显示

set ruler

在状态栏显示光标的当前位置(位于哪一行哪一列)

set showmatch

光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号

set incsearch

输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果

set ignorecase

搜索时忽略大小写

set spell spelllang=en_us

打开英语单词的拼写检查

set nobackup

不创建备份文件。默认情况下,文件保存时,会额外创建一个备份文件,它的文件名是在原文件名的末尾,再添加一个波浪号(〜)

set noswapfile

不创建交换文件。交换文件主要用于系统崩溃时恢复文件,文件名的开头是.、结尾是.swp

set undofile

保留撤销历史,Vim 会在编辑时保存操作历史,用来供用户撤消更改。默认情况下,操作记录只在本次编辑时有效,一旦编辑结束、文件关闭,操作历史就消失了。打开这个设置,可以在文件关闭后,操作记录保留在一个文件里面,继续存在。这意味着,重新打开一个文件,可以撤销上一次编辑时的操作。撤消文件是跟原文件保存在一起的隐藏文件,文件名以.un~开头

set autochdir

自动切换工作目录。这主要用在一个 Vim 会话之中打开多个文件的情况,默认的工作目录是打开的第一个文件的目录。该配置可以将工作目录自动切换到,正在编辑的文件的目录

set noerrorbells

出错时,不要发出响声

set visualbell

出错时,发出视觉提示,通常是屏幕闪烁

set history=1000

Vim 需要记住多少次历史操作

set autoread

打开文件监视。如果在编辑过程中文件发生外部改变(比如被别的编辑器编辑了),就会发出提示

持续更新…

vim博大精深,先看看有哪比较使用的vim插件 Linux 为源代码生成ctags: 1.sudo apt-get install ctags安装vim插件 2.cd到代码根目录,比如说cd ./linux-5.x.x 2.生成tags文件,根目录执行ctags -R xxx(xxx为需要生成tags的文件目录)

3.vim -t tags(tags替换为想要查找查找的变量或函数名) ex:vim -t miscdevice

其他指令: ctrl + ] 跳转到贯标所在函数或者结构体的定义处 ctrl + T 返回查找或跳转 ctrl + G 查看当前vim打开文件和文件路径

Linux 为源代码生成cscope: 1.sudo apt-get install cscope安装vim插件 2.cd到代码根目录并执行命令 cscope -Rbq生成索引库 3.vim中添加cscope.out,: cs add cscope.out vim支持8种cscope的查询功能:cs find -s tags

命令

说明

s

查找C语言符号,即查找函数名、宏、枚举值等出现的地方

g

查找函数、宏、枚举等定义的位置,类似ctags所提供的功能

d

查找本函数调用的函数

c

查找调用本函数的函数

t

查找指定的字符串

e

查找egrep模式,相当于egrep功能,但查找速度快多了

f

查找并打开文件,类似vim的find功能

i

查找包含本文本文件的文件

:hi ModeMsg ctermfg=Green “修改cscope搜索结果颜色

Linux vim插件vundle: 1.从git上clone代码到本地/home/xxx/.vim/bundle文件夹下

代码语言:javascript
代码运行次数:0
运行
复制
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

curits@curits-virtual-machine:~/.vim/bundle$ pwd
/home/curits/.vim/bundle

2.只需要在/home/xxx/.vimrc中添加”Plugin xxx”,在vim 中输入:PluginInstall 就会从网络上下载插件并安装。

使用示例:

代码语言:javascript
代码运行次数:0
运行
复制
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'majutsushi/tagbar'"Tag bar" "需要自动下载的插件

call vundle#end()

有很多比较有用的插件,分享一波: Plugin ‘kien/ctrlp.vim’ vim 插件 Ctrlp.vim 可以在vim中在内核代码中查找想要找的文件;

默认快捷键

含义

ctp + p

查找文件

ctp + j

向上选择查找结果

ctp + k

向下选择查找结果

ctp + x

在当前窗口水平分屏打开文件

ctp + v

在当前窗口垂直分屏打开文件

改变不同模式下光标的现实模式 vim ~/.vimrc 中添加以下配置信息,后面有具体的说明信息。

代码语言:javascript
代码运行次数:0
运行
复制
"Mode Settings

let &t_SI.="\e[5 q" "SI = INSERT mode
let &t_SR.="\e[4 q" "SR = REPLACE mode
let &t_EI.="\e[1 q" "EI = NORMAL mode (ELSE)

"Cursor settings:

"  1 -> blinking block
"  2 -> solid block 
"  3 -> blinking underscore
"  4 -> solid underscore
"  5 -> blinking vertical bar
"  6 -> solid vertical bar

vim官网说明信息链接

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143038.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档