鱼C论坛

 找回密码
 立即注册
查看: 460|回复: 3

[已解决]有没有大佬推荐一下vim编辑器的常用配置?

[复制链接]
发表于 2023-7-21 20:32:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本人刚开始使用Ubuntu,因为要学习编程,所以要习惯使用vim编辑器,但是很多时候觉得不是很方便,所以想问一下有没有想在vimrc文件里面配置一下,但是我不知道要配置一些什么,想让大佬给我推荐一下有没有什么比较好用的配置
最佳答案
2023-7-21 20:33:22
在配置Vim编辑器之前,强烈推荐你使用vim-plug插件管理器来安装和管理其他插件。以下是一些常用的Vim配置和插件:

1. 常规设置:
   - 设置行号:set number
   - 启用语法高亮:syntax enable
   - 设置自动缩进:set autoindent
   - 启用括号匹配:set showmatch
   - 启用搜索时忽略大小写:set ignorecase
   - 设置tab为4个空格:set tabstop=4 shiftwidth=4 expandtab

2. 主题和外观:
   - 安装和使用适合你的喜好的主题,如:gruvbox, molokai, dracula等。可以通过vim-plug安装。
   - 启用状态栏:set laststatus=2
   - 配置状态栏显示的信息,如文件类型、光标位置等:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime('%c')}

3. 插件:
   - vim-airline: 为状态栏提供美观的外观,并显示有关文件状态、Git信息等。
   - NERDTree: 提供文件浏览器功能。
   - CtrlP: 快速查找和打开文件。
   - YouCompleteMe: 强大的代码自动补全插件。
   - Ale: 语法和风格检查器,可用于各种编程语言。
   - vim-commentary: 快速注释代码。
   - vim-surround: 快速添加、修改和删除括号、引号等围绕文本的字符。
   - vim-gitgutter: 在侧边栏显示Git的变动情况。

4. 快捷键映射:
   - 将ESC键映射为jjjk,以便更快地退出插入模式:inoremap jj <Esc>inoremap jk <Esc>
   - 提供快速保存文件的快捷键映射:nnoremap <leader>s :w<CR>

这只是一些常用的Vim配置和插件示例,你可以根据个人喜好进行进一步定制。在~/.vimrc文件中添加上述配置,并使用vim-plug来安装插件。完成配置后,重新启动Vim即可生效。希望这些推荐对你有所帮助!

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-21 20:33:19 | 显示全部楼层
在 .vimrc 文件中,你可以进行各种配置以改善你的Vim使用体验。以下是一些我建议的常用和有用的配置。

1. 设置行号:

  
  1.    set number
  2.    
复制代码


   在Vim的左边显示行号可以帮助你更快地定位代码。

2. 设置搜索高亮:

  
  1.    set hlsearch
  2.    
复制代码


   这个命令会高亮显示你的搜索结果。

3. 启用语法高亮:

  
  1.    syntax on
  2.    
复制代码


   这个命令可以让Vim显示语法高亮,让代码更易于阅读。

4. 设置自动缩进:

  
  1.    set autoindent
  2.    set smartindent
  3.    
复制代码


   这两个命令可以让Vim自动按照代码的结构进行缩进,让你的代码看起来更整齐。

5. 设置tab键的空格数:

  
  1.    set tabstop=4
  2.    
复制代码


   这个命令可以设置按下tab键时插入的空格数。

6. 启用鼠标:

  
  1.    set mouse=a
  2.    
复制代码


   这个命令可以让你在Vim中使用鼠标。

这些只是基础配置,Vim的强大在于其可定制性极高。根据你的需求,你可能还需要安装各种插件,比如自动完成插件,文件树插件,代码片段插件等。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-21 20:33:22 | 显示全部楼层    本楼为最佳答案   
在配置Vim编辑器之前,强烈推荐你使用vim-plug插件管理器来安装和管理其他插件。以下是一些常用的Vim配置和插件:

1. 常规设置:
   - 设置行号:set number
   - 启用语法高亮:syntax enable
   - 设置自动缩进:set autoindent
   - 启用括号匹配:set showmatch
   - 启用搜索时忽略大小写:set ignorecase
   - 设置tab为4个空格:set tabstop=4 shiftwidth=4 expandtab

2. 主题和外观:
   - 安装和使用适合你的喜好的主题,如:gruvbox, molokai, dracula等。可以通过vim-plug安装。
   - 启用状态栏:set laststatus=2
   - 配置状态栏显示的信息,如文件类型、光标位置等:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime('%c')}

3. 插件:
   - vim-airline: 为状态栏提供美观的外观,并显示有关文件状态、Git信息等。
   - NERDTree: 提供文件浏览器功能。
   - CtrlP: 快速查找和打开文件。
   - YouCompleteMe: 强大的代码自动补全插件。
   - Ale: 语法和风格检查器,可用于各种编程语言。
   - vim-commentary: 快速注释代码。
   - vim-surround: 快速添加、修改和删除括号、引号等围绕文本的字符。
   - vim-gitgutter: 在侧边栏显示Git的变动情况。

4. 快捷键映射:
   - 将ESC键映射为jjjk,以便更快地退出插入模式:inoremap jj <Esc>inoremap jk <Esc>
   - 提供快速保存文件的快捷键映射:nnoremap <leader>s :w<CR>

这只是一些常用的Vim配置和插件示例,你可以根据个人喜好进行进一步定制。在~/.vimrc文件中添加上述配置,并使用vim-plug来安装插件。完成配置后,重新启动Vim即可生效。希望这些推荐对你有所帮助!

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-21 23:01:00 | 显示全部楼层
不带ycm的版本
  1. " 定义<Leader>
  2. let mapleader=";"

  3. set number              " 显示行号
  4. set laststatus=2        " 总是显示状态栏
  5. set scrolloff=3         " 光标移动到buffer的顶部和底部时保持3行距离
  6. set nowrap              " 禁止折行
  7. set hlsearch            " 高亮显示搜索结果
  8. set incsearch           " 开启实时搜索
  9. set ignorecase          " 搜索时大小写不敏感
  10. set nocompatible        " 关闭兼容模式
  11. set wildmenu            " vim自身命令行模式智能补全
  12. set noshowmatch         " 不要高亮匹配括号

  13. " 关键字高亮
  14. syntax on

  15. " 编码格式
  16. set encoding=utf-8
  17. set fileencodings=utf-8,default,gb18030,gbk,gb2312

  18. " 启用自动备份
  19. set backup

  20. " 折叠
  21. set foldmethod=manual   " 手工定义折叠
  22. set foldlevel=99        " 启动vim默认不折叠

  23. " 设置快捷键将选中文本复制至系统剪贴板
  24. vnoremap <Leader>y "+y

  25. " 设置快捷键将系统剪贴板内容粘贴至vim
  26. nmap <Leader>p "*p
  27. nmap <Leader>P "*P

  28. " 自动跳到上一次的光标位置
  29. au BufReadPost * if line("'"") > 1 && line("'"") <= line("$") | exe "normal! g'"" | endif

  30. " 关闭插入模式识别 <Esc> 开始的功能键
  31. set noesckeys

  32. " 设置不可见字符的显示方式
  33. set list
  34. set listchars=tab:-->,space:.
  35. highlight SpecialKey ctermfg=darkgray

  36. " C/C++ 代码格式
  37. set cinoptions=l1,g0

  38. " 设置缩进
  39. autocmd BufNewFile,BufReadPost,BufNew * exec "call SetTab(4)"
  40. autocmd BufNewFile,BufReadPost Makefile exec "set noexpandtab"
  41. func SetTab(size)
  42.     exec 'set tabstop='.a:size
  43.     exec 'set softtabstop='.a:size
  44.     exec 'set shiftwidth='.a:size
  45.     set expandtab
  46.     set cindent
  47.     set smartindent
  48.     set autoindent
  49. endfunc

  50. " 新建文件,自动插入文件头
  51. autocmd BufNewFile *.sh,*.py,*.c,*.cpp,*.h,*.hpp exec ":call SetTitle()"
  52. func SetTitle()
  53.     if expand("%:e") == 'sh'
  54.         call setline(1, "#!/bin/bash")
  55.         call append(line("$"), "")
  56.         exec ":2"
  57.     elseif expand("%:e") == 'py'
  58.         call setline(1, "#!/usr/bin/env python")
  59.         call append(line("$"), "#coding=utf-8")
  60.         call append(line("$"), "")
  61.         exec ":3"
  62.     elseif expand("%:e") == 'c'
  63.         if expand("%") == "main.c"
  64.             call setline(1, "#include <stdio.h>")
  65.             call append(line("$"), "")
  66.             call append(line("$"), "int main(void) {")
  67.             call append(line("$"), "    ")
  68.             call append(line("$"), "    return 0;")
  69.             call append(line("$"), "}")
  70.             exec ":4"
  71.         endif
  72.     elseif expand("%:e") == 'cpp'
  73.         if expand("%") == "main.cpp"
  74.             call setline(1, "#include <iostream>")
  75.             call append(line("$"), "")
  76.             call append(line("$"), "int main() {")
  77.             call append(line("$"), "    ")
  78.             call append(line("$"), "    return 0;")
  79.             call append(line("$"), "}")
  80.             exec ":4"
  81.         endif
  82.     elseif expand("%:e") == 'h' || expand("%:e") == 'hpp'
  83.         call setline(1, "#ifndef _".toupper(expand("%:r"))."_".toupper(expand("%:e"))."_")
  84.         call append(line("$"), "#define _".toupper(expand("%:r"))."_".toupper(expand("%:e"))."_")
  85.         call append(line("$"), "")
  86.         call append(line("$"), "#endif")
  87.         exec ":3"
  88.     endif
  89. endfunc
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-6 10:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表