全民阅读 vimrc

2018-03-16 06:58:36 +08:00
 SpaceVim

活动介绍

之前在国外社区看到一个活动,感觉比较有意思。

主要的活动内容是,在一篇帖子下面,大家发自己的 vimrc,然后由别人来 review。可惜是英文的。

所以,我想在 V2EX 这里搞一个类似的中文活动。

目的在于和大家一起阅读学习下别人的 vimrc 配置。

如何参与?

可以将你的 vimrc 链接直接留在评论区,请注意,留的是某个 commit 下的 vimrc,避免后期你的修改影响别人 review。

6938 次点击
所在节点    Vim
53 条回复
SpaceVim
2018-03-16 09:18:44 +08:00
@Jeremial
let mapleader="\<Space>"

let g:mapleader="\<Space>"

为什么两个呢?
SpaceVim
2018-03-16 09:20:47 +08:00
@Jeremial iskeyword 这类选项建议用 ftplugin 写成 setlocal 毕竟不同语言关键字允许的字符不一样
SpaceVim
2018-03-16 09:23:05 +08:00
@Jeremial
 autocmd BufNewFile,BufRead *.{c,cpp} set formatprg=astyle

类似这种的 autocmd,实际上应该用 setlocal
uyhyygyug1234
2018-03-16 09:30:38 +08:00
问下楼主 我希望终端里面粘帖的时候不会自动插入智能缩进的回车。我现在是配置了一个快捷键关闭的。

参照的( http://vim.wikia.com/wiki/How_to_stop_auto_indenting

关闭注释自动 comment
set formatoptions-=cro

nnoremap [space]i :setl noai nocin nosi inde=<CR>

想问下怎么在 vimrc 里面配置。我直接在 vimrc 里面 setl noai nocin nosi inde 貌似没用。这个困扰我好久了。

(主要的用法是 windows 里面复制一个代码片段,然后通过 xshell 右键粘帖到远端服务器的 vim 中。希望保留原格式,不要插入注释,还有换行啥的)


@SpaceVim
SpaceVim
2018-03-16 09:36:25 +08:00
@uyhyygyug1234 大片短复制到 Vim 可以用 "+p,或者如果你是想在输入模式下直接粘贴,你得先 set nopaste
SpaceVim
2018-03-16 09:36:47 +08:00
@SpaceVim sorry,是 set paste
uyhyygyug1234
2018-03-16 09:42:46 +08:00
@SpaceVim 恩应该是 输入模式下粘帖, "+p 是 linux 远端服务器上剪贴板内容的粘帖,我相当于是要把 win 上的内容,黏贴进 linux 中。你说的对!!!
SpaceVim
2018-03-16 09:48:38 +08:00
@uyhyygyug1234 set paste 后,在输入模式直接粘贴效果会好一点
wweir
2018-03-16 09:57:11 +08:00
@SpaceVim 重新 source vimrc 是因为我的 vimrc 写了 plugin 环境的自安装功能,source 才能生效
<M-t> 这个自然是配合习惯来的,没啥可说的

xnoremap 还真得了解一下
codehz
2018-03-16 10:06:12 +08:00
@uyhyygyug1234 #24 我记得 neovim 有自带这个功能的支持。。
SpaceVim
2018-03-16 10:08:24 +08:00
@wweir 没太看明白,正常情况下 vimrc 是可以自动读取的,你可以吧自动下载 plug 写在 vimrc 前面呀,可能你给的这个链接不是 vimrc 本身?
SpaceVim
2018-03-16 10:09:01 +08:00
@codehz 是的,Neovim 会自动识别是手动输入还是粘贴
lemon0910
2018-03-16 10:26:26 +08:00
https://github.com/lemon0910/lemon-neovim 大家帮忙 review 一下,有什么问题
ablegao
2018-03-16 10:28:56 +08:00
Youthink
2018-03-16 10:38:05 +08:00
SpaceVim
2018-03-16 21:44:38 +08:00
@lemon0910 https://github.com/lemon0910/lemon-neovim/blob/master/init.vim#L90-L107 这里的 autocmd 应该放到一个 group 里面。
https://github.com/lemon0910/lemon-neovim/blob/master/init.vim#L226-L228 针对 filetype 的 autocmd 里面的 set 应该用 setlocal
https://github.com/lemon0910/lemon-neovim/blob/master/init.vim#L260-L270 这里应该用 noremap

https://github.com/lemon0910/lemon-neovim/blob/master/init.vim#L260-L270 这一块应该包到一个 function 里面 用 autocmd Colorscheme * 来调用,不然,你在 vim 里面执行一个 colorscheme 命令换主题,你这些高亮设置就没有用了。
SpaceVim
2018-03-16 21:47:25 +08:00
@ablegao 没发现什么问题,唯一是 这个方法

init.vim#L260-L270 里面,其实可以优化一下的,你可以直接 setline 参数用 list,而不是多次调用 setline,后面的 normal 命令 最好改成 normal! 加一个感叹号防止按键映射对这个命令有影响。
skywind3000
2018-03-16 23:15:26 +08:00
@lemon0910 配置不错啊,清爽,地道。

挑个骨头啊:

vnoremap v <Esc>

其实不需要,visual mode 中按 v 本来就可以退出 visual mode,不需要再额外写一个,
你看 `:h index` 里面 visual mode 一节
SpaceVim
2018-03-17 06:39:19 +08:00
@skywind3000 厉害,眼睛尖,我也不知道这个
mrytsr
2018-03-17 18:34:24 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/438522

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX