谨以此文记录下之前的折腾。(后续可能还会折腾什么)

目标

我的目的很简单,就是希望能有一个启动快速的文本编辑器,可以简单的代码着色,vim键位,简单的文本修改,打开大点的文件不发愁,可以简单的format一些文件格式等等。所以,windows下我就是用gvim,mac下我用Mac Vim。没错,gui为主。不咋用tui。

Neovim

我已经不用这个了,因为并非重度vim用户,根本用不出区别来。什么job啊,什么luajit啊,什么完整的terminal内核啊,什么独立进程嵌入到其他应用中啊。雨我无瓜。

配置&插件

下面的配置基本上都是要在一个vim-plug插件的基础上进行的。没这个,我还真没法继续折腾。

安装vim-plug

Unix&Linux

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

You can automate the process by putting the command in your Vim configuration file as suggested here.

Windows (PowerShell)

iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
ni $HOME/vimfiles/autoload/plug.vim -Force

插件推荐

  • tpope/vim-sensible,大家都用的vim的默认配置。虽然我仍然又加了一些内容。。。不过还好还好。
  • yianwillis/vimcdoc,vim的中文文档。我英文不好,看看中文的有助于提高(嘴硬
  • octol/vim-cpp-enhanced-highlight,强化cpp的语法着色。挺不错的。
  • rhysd/vim-clang-format,vim的indent怎么也不如clang-format好用,是不是?我设置成了F3(看别人都这么搞)
  • preservim/tagbar,可以显示大纲视图之类的,挺好用的。需要自己安装一下ctag。brew或者scoop一下。我还设置了F8的快捷键(人家推荐的
  • preservim/nerdtree,别人都装,我也象征性的安装了。我还设置了快捷键F10
  • Yggdroot/indentLine,可以给编辑器加上缩进线显示(2021/12/16)
  • tpope/vim-surround,最近发现还是很需要这个插件的,能省不少事(2022/09/28)
  • easymotion/vim-easymotion,用了一下,跳转的还是很不错。idea也有,先安装AceJump再安装idea-easymotion(2022/09/28)

颜色主题one-half

我很喜欢这个颜色主题。无论是深色还是浅色。

网址:https://github.com/sonph/onehalf

不过我个人只用colorscheme,并不是很喜欢airline什么的。所以我只是把colors文件夹里面的东西拷贝出来。。。

配置流程

我就是记录一下我自己的配置。要不换个电脑就又忘了。以后换个设备,步骤就是这样子的:

  1. 安装Mac Vim,或者gvim
  2. 安装vim-plug
  3. 找到one-half的主题,把vim/colors里面的两个主题偷走
  4. 直接覆盖掉下面的配置文件到.vimrc
  5. 确认自己是否安装了clang-format以及ctag
  6. 都安装完了?肯定还少个字体,去Google font里面找到roboto mono安装上吧
  7. 这次都折腾好了吧。运行PlugInstall吧。记得FQ头,稳一些。
  8. 重新设置了一下leader键,映射到了空格键:let mapleader=" ",并且加了一些复制粘贴的快捷键。

(2021/12/16)Windows下,用gvim就可以。其实只要去掉工具栏(以及滚动条 我后来保留垂直滚动条了22/09/28),看上去也是可以很清爽的。稍微调整了一下文件配置。然而因为懒,所以没有合并起来。大体是差不多的。

(2021/12/16)我勤快了一下,合并了两个平台的.vimrc文件配置。

下面是.vimrc的内容:

" 到哪里都要用jj
inoremap jj <Esc> " 简单的leader快捷映射,强化复制粘贴
let mapleader=" " " copy and paste
noremap <leader>y "zy
noremap <leader>Y "zY
noremap <leader>p "zp
noremap <leader>P "zP " windows下设置文件编码
set encoding=utf-8
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,cp936,usc-bom,latin1 set cursorline
set guifont=Roboto\ Mono:h10
set guifontwide=YouYuan:h10
set guioptions=cm
set winaltkeys=yes
if has('gui_running')
colorscheme onehalflight
set go+='r' " 总是显示右边的滚动条
endif set nu! " 显示行号
set rnu! " 显示相对行号
set autoindent
set smartindent
set smartcase " 智能大小写搜索
set smarttab " 根据文件自动判断tab大小
set expandtab " tab扩展为空格
set tabstop=4 " tab大小
set shiftwidth=4 " 每一级锁进大小 " Change cursor shape between insert and normal mode in iTerm2.app
"if $TERM_PROGRAM =~ "iTerm"
" let &t_SI = "\<Esc>]50;CursorShape=1\x7" " Vertical bar in insert mode
" let &t_EI = "\<Esc>]50;CursorShape=0\x7" " Block in normal mode
"endif """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
call plug#begin('~/.vim/plugged')
Plug 'yianwillis/vimcdoc'
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-surround'
Plug 'easymotion/vim-easymotion'
Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'rhysd/vim-clang-format', {'on': 'ClangFormat'}
Plug 'preservim/tagbar', {'on': 'TagbarToggle'}
Plug 'preservim/nerdtree', {'on': 'NERDTreeToggle'}
call plug#end()
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" if exists(':Tagbar')
map <F8> :TagbarToggle<CR>
endif
if exists(':NERDTree')
map <F10> :NERDTreeToggle<CR>
endif if exists(':ClangFormat')
map <F3> :ClangFormat<CR>
endif

最新文章

  1. jquery mobile系列问题汇总整理(传播知识,利己利人)
  2. 终于懂浏览器里面的cookies和session了
  3. UVA 10801 Dij最短路(改模板)
  4. sublime文档
  5. 5-2-2 printf参数从右往左压栈
  6. D&amp;F学数据结构系列——二叉堆
  7. placement new 操作符
  8. Complete The Pattern #2
  9. Java---计算机贷款支付额计算(用对话框实现)
  10. 调试单片机内部扩展RAM
  11. MYSQL 转换字符集的 2 种方法
  12. html,JavaScript调用winfrom方法
  13. hdu 4656 Evaluation [任意模数fft trick]
  14. Qt Create or VS 2015 使用 Opencv330 相机静态库链接错误如何解决?
  15. grid++报表使用时注意事项
  16. 做为一个Python程序员的基本素养
  17. Codeforces --- 982C Cut &#39;em all! DFS加贪心
  18. canvas高斯模糊算法
  19. Coding kata: get the top two teams in one group
  20. OpenWrt 中安装配置Transmission

热门文章

  1. CAN2-CH32V307CAN2使用说明与CAN波特率计算方法
  2. python del 函数
  3. KStudio-Java程序连接KingbaseES数据库异常
  4. 【学习日志】volatile关键字的作用
  5. DNA
  6. 一种无损更换iPhone手机铃声方案(无需数据线)
  7. 2.3.pages.json文件的页面配置与全局配置
  8. STM32F1库函数初始化系列:串口DMA空闲接收_DMA发送
  9. 树莓派裁剪通过Win32读出的img文件
  10. Git远程提交的冲突解决