专栏首页云计算与大数据vim | 配置我的linux 开发环境

vim | 配置我的linux 开发环境

"显示行号
set number
"包裹行
set wrap
"设置文件编码
set encoding=utf-8
"设置文件打开标题
set titlestring=%t
"显示光标位置
set ruler
"语法高亮
syntax on
"缩进格式设置
set autoindent "自动换行,继承前一行的缩进方式,适用于多行注释
set expandtab  "转换tab为空格,expandtab 选项用于设置在Vim插入模式下按下 Tab 键时,输入到Vim中的都是空格。smarttab 表示插入 Tab 时使用 shiftwidth。
"tab改为4个空格
set tabstop=4
"设置复制粘贴时,能对齐
set shiftround "表示缩进列数对齐到 shiftwidth 值的整数倍
set shiftwidth=4
set smarttab
set tabstop=4
set softtabstop=4 "insert mode tab and backspace use 4 spaces
"搜索设置
set hlsearch "搜索高亮
set ignorecase "大小写不敏感,https://harttle.land/2019/12/12/vim-case-sensitive.html
set incsearch "输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果
set smartcase "https://www.ruanyifeng.com/blog/2018/09/vimrc.html,如果同时打开了ignorecase,那么对于只有一个大写字母的搜索词,将大小写敏感;其他情况都是大小写不敏感。比如,搜索Test时,将不匹配test;搜索test时,将匹配Test

set noerrorbells "出错时,不要发出响声。
set visualbell "出错时,发出视觉提示,通常是屏幕闪烁。
set history=1000 "Vim 需要记住多少次历史操作。
set autoread "打开文件监视。如果在编辑过程中文件发生外部改变(比如被别的编辑器编辑了),就会发出提示。
set listchars=tab:»■,trail:■ "如果行尾有多余的空格(包括 Tab 键),该配置将让这些空格显示成可见的小方块。
set list
set wildmenu
set wildmode=longest:list,full "命令模式下,底部操作指令按下 Tab 键自动补全。第一次按下 Tab,会显示所有匹配的操作指令的清单;第二次按下 Tab,会依次选择各个指令。

"启用折叠
set foldenable

"显示光标位置
set cursorcolumn "设置高亮显示光标当前所在列
set cursorline "设置高亮显示光标所在屏幕行


"粘贴,在Vim中通过鼠标右键粘贴时会在行首多出许多缩进和空格,通过set paste可以在插入模式下粘贴内容时不会有任何格式变形、胡乱缩进等问题。
set paste

set showcmd "用于设置在屏幕最后一行显示 (部分的) 命令。showmode 在插入、替换和可视模式里,在最后一行提供消息。
set showmatch "表示插入括号时短暂地跳转到与之匹配的对应括号,而停留的时间由 matchtime 选项设置。如果置位 ‘showmatch’,matchtime 表示显示配对括号的十分之一秒
set matchtime=2 "matchtime 表示显示配对括号的十分之一秒

"移动设置,通过视线垂直移动
nnoremap j gj
nnoremap k gk
xnoremap < <gv  "只读模式,向左缩进
xnoremap > >gv  "只读模式,向右缩进

"文件类型
filetype on "配置项是 Vim 文件类型检测功能的开关                                                                                                             
filetype plugin on "用于 Vim 打开加载文件类型插件功能。当这个选项打开时,Vim 会根据检测到的文件类型,在runtimepath中搜索该文件类型的所有插件并执行它们。
filetype indent on "用于指定 Vim 为不同类型的文件定义不同的缩进格式
" 函数定义
func SetTitle()
  call setline(1,"/**")
  call append(line("."), " *   Copyright (C) ".strftime("%Y")." All rights reserved.")
  call append(line(".")+1, " *")
  call append(line(".")+2, " *   FileName      :".expand("%:t"))
  call append(line(".")+3, " *   Author        :heidsoft")
  call append(line(".")+4, " *   Email         :heidsoft@qq.com")
  call append(line(".")+5, " *   Date          :".strftime("%Y年%m月%d日"))
  call append(line(".")+6, " *   Description   :")
  call append(line(".")+7, " */")
endfunc

"autocmd及新文件自动生成注释,https://vimjc.com/vim-autocmd.html
autocmd BufNewFile *.cpp exec ":call SetTitle()"
"自动将光标定位到末尾"
autocmd BufNewFile * normal G
  • https://www.ruanyifeng.com/blog/2018/09/vimrc.html
  • http://vimdoc.sourceforge.net/htmldoc/options.html
  • https://opensource.com/article/18/9/vi-editor-productivity-powerhouse
  • https://dougblack.io/words/a-good-vimrc.html#movement
  • https://vimjc.com/vim-commands-and-vim-mapping-conf.html
  • https://chrisyeh96.github.io/2017/12/18/vimrc.html
  • https://www.linode.com/docs/guides/introduction-to-vim-customization/
  • https://www.shortcutfoo.com/blog/top-50-vim-configuration-options/
  • https://linuxhint.com/important_vim_settings/
  • https://www.alexeyshmalko.com/2014/using-vim-as-c-cpp-ide/
  • https://github.com/junegunn/vim-plug
  • https://gist.github.com/adembudak/42a34744b5e4f5980e5f4e1c980ec859
  • https://github.com/heidsoft/heidsoft-vimrc

本文分享自微信公众号 - 黑洞日志(heidcloud),作者:heidsoft

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • vim开发环境配置

    作为编辑器之神的vim,初安装时,就像十几岁的孩子,潜力无限但能力有限。所以当我们要充分开发它的潜能时,那么就不得不对vim进行扩展,也就是安装插件。(当然了,...

    编程珠玑
  • Linux中配置Java开发环境

    rpm是管理套件命令,-qa表示使用询问模式查询所有套件;grep表示查询文件里符合条件的字符串;java表示查询包含java的字符串

    老九学堂-小师弟
  • VIM插件管理及python开发环境配置

    这是在公司做的一个分享,目的是帮助新手快速的配置好python开发环境。在操作之前,建议先把你自己的vim配置文件(vimrc)和.vim文件夹先剪切到一个备份...

    the5fire
  • 环境配置:React Native 开发环境配置 For Android

    React Native 是FaceBook开源的一个项目,FaceBook希望可以用写 Web App 的方式去写 Native App。它可以让我们用JS和...

    非著名程序员
  • Linux 的环境配置

    在 Linux 系统中,无论是官方 JDK 还是 OpenJDK 都有中文字库不全的问题。需要通过安装默认字体来解决这个问题:

    zucchiniy
  • python 开发环境配置

    程序员同行者
  • 配置ReactNative开发环境

    LinXunFeng
  • NDK开发环境配置

    1,新建项目添加C++支持,让Android Studio自动生成相关的配置文件 2,设置生成的.SO库名和相应的平台库 在配置build.gradle文件...

    萬物並作吾以觀復
  • NDK 开发环境配置

    它可以根据不同平台、不同的编译器,并通过CMakeLists.txt文件中简单的语句来描述所有平台的编译过程,生成相应的Makefile文件或project文件...

    Yif
  • Ubuntu开发环境配置

    每次电脑切换都需要重新装一次系统,重新装系统后还需要安装各种各样的工具。如果每次都到网络上搜索工具的安装方法,就要浪费一大笔时间。这里把我常用的工具的安装方法分...

    yuxiaofei93
  • Ubuntu配置开发环境

    如果不习惯Vim,强烈建议VSCodehttps://code.visualstudio.com/

    py3study
  • 配置Python开发环境

    注:x86适用Intel处理器,X86-64适用AMD处理器(选择对应的包,避免出现兼容性问题)

    Noneplus
  • VSCode开发环境配置

    VSCode(Visual Studio Code)是由微软研发的一款免费、开源的跨平台文本(代码)编辑器,算是目前前端开发几乎完美的软件开发工具。

    羊羽shine
  • Go开发环境配置

    近年来go语言越来越火热,值得了解一下,扩宽下知识面,先简单学习下基础语法,go语言学习笔记,参考地址,后面的笔记都是基于该作者的笔记一步步学习,练习的工程地址

    用户9022575
  • linux之在centos7中配置java开发环境

    首先下载好相应的Linux版本的jdk、tomcat、eclipse、mysql,然后利用xftp5上传到/opt目录下

    西西嘛呦
  • LAMP CentOS7 开发环境配置

    本文简要介绍了手动搭建 LNMP 开发环境的步骤。 MySQL mysql-community-client-5.7.13-1.el7.x86_64.rpm m...

    康怀帅
  • node.js + webstorm :配置开发环境

    一、配置开发环境: 1、先安装node (1)、访问http://nodejs.org打开安装包,正常安装,点击next即可。   为了测试是否安装成功,打开命...

    庞小明
  • sublime3 配置go开发环境

    在sublime下选择【工具菜单】,选择【编译系统】,继续选择【新编译系统】,在弹出的文件内写入如下代码:

    用户2936342
  • OpenCV+VS开发环境配置

    最近跑C程序,头文件中用到了OpenCV中的文件,找了很多篇OpenCV+VS的环境配置,发现如下这篇写的最为详细,特转载来自己的博客中留存,并附上原博客地址如...

    闪电gogogo

扫码关注云+社区

领取腾讯云代金券