Editor 板


LINE

※ 引述《mars90226 (火星人)》之铭言: : ※ 引述《as23041248 (KAIKAIKAI)》之铭言: : : 小弟使用的是 neovim 0.5 : : 通常我只拿来写程式,所以很多 text object 不太用到。 : : 单行移动我会使用 f 配合 hjkl,在远一点会使用 / 搜寻或是 [( ]) [{ ]} % : : 等等 motion,最後我觉得还是选用 easymotion 或 vim-sneak 可以少很多折腾 : 配对用 %,函数的话我通常用 fzf.vim 提供的 :BTags,或是 coc.nvim 提供的 outline : 模组的话,基本上应该是靠档名 + fzf.vim 提供的 :Files/:GFiles,看各语言规定。 : 平常在单一画面中移动,基本上都是靠 easymotion。 : : 可以参考我的文章 #1VU3FViD (Editor) : : 每一个程式语言 format 的格式不一样,我觉得用 vim 内建的不敷使用, : : 最後我使用 Chiel92/vim-autoformat 插件来解决 : 自动缩排程式码可以靠 ale + formatter。 : : tpope/vim-commentary 提供了 gc 能做到此事 : : 也可以使用内建 <Ctrl-v> 达到效果 : : 单个指令我是认输 : 我是用 tcomment,不过基本上差异不大。 : 如果需要用内建单一指令就可以注解的话,就不清楚了。 : : 这还蛮常用的,但太复杂的 undo 和 redo 我使用 mbbill/undotree,虽然这插件 : : 不常用,但是需要的时候你会很感谢它 : 我知道有 :earlier & :later,不过用 plugin 可以预览结果与时间比较方便。 : 这里我是用 vim-mundo。 : : 这点并不难 : : 切割窗口我最常使用 :sp :vs : : 跳转窗口的 key mapping : : noremap <C-j> <C-W>j : : noremap <C-k> <C-W>k : : noremap <C-h> <C-W>h : : noremap <C-l> <C-W>l : 这部分也是最基础的操作,个人是用 <M-h>, <M-j>, <M-k>, <M-l>, : 避免盖掉内建的 <C-l> redraw 的功能。 : 另外,我的 <C-j>, <C-k> 拿来用在切换 tab 上了。 : : XXG : :XX<CR>,输了一个字XD : : 我会用 V 选择所需的行,并且 !sort : 这个可以直接用 vim 内建的 :sort,而且内建的 :sort 还有 :sort u 可以去除重复 : : 干忘了,是 & 吗 : 怎麽觉得你想多了,应该是单纯的 n/N,XD : : 认输 : 这个我不清楚有没有内建功能,印象中是没有,我个人是用 vim-visual-multi, : 主要功能是在 keyword 上按一个键 (预设是 <C-n>) 会自动选取目前 keyword 并 : 移动到下一个 keyword,此时可以同时编辑 keyword 或是可以继续按 <C-n> 选取 : 更多 keyword。 visual-multi 功能其实很强大 支援 (visual) regex search 我个人会搭配 ipod825/msearch.vim 多选多个 pattern 做selection 但是他的 mapping system 设计的有点混乱 说明文件也不是很好懂 Customize 要花点时间 : : 如果 C 的话使用 :make,再开 quickfix list : : 通常其他语言包也会支援,可以参考我的文章 #1VMmL8ym (Editor) : : 如果是 real time lint,我使用 LSP,现在很多 LSP plugin 可以使用 : 这部分应该是可以用 :make 搭配 compiler 就可以针对不同语言了, : 针对不同语言 :set compiler。 这部分好像有一个 general 的 plugin skywind3000/asyncrun.vim 虽然我自己应爲平常工作想要更好的 customize 所以最後是用 neovim-remote 直接打进terminal里 类似下面这样(用vim script 在terminal 下 bash commands bash 再用neovim-remote 呼叫vim的callback, compile完毕跳转回用来compile的terminal...) 但是我想花一些时间应该可以帮他弄个patch满足我的需求 function! AndroidQuickfix() cgetexpr uniq(filter(map(systemlist('cat /tmp/androidbuild'), function('AndroidFixPath')), "!empty(v:val)")) copen endfunction let cmd = 'set -o pipefail;'. \'mmm -j '.target.' 2>&1 | tee /tmp/androidbuild;'. \'if [[ $? -eq 0 ]];then'. \ NvrSend('<c-\\><c-n><esc>:call ReuseTerm("Tabdrop","Android")<cr>'). \ NvrSend('<c-\\><c-n><esc>:startinsert<cr>'). \'else'. \ NvrSend('<c-\\><c-n><esc>:call ReuseTerm("Tabdrop","Android")<cr>'). \ NvrSend('<c-\\><c-n><esc>:call AndroidQuickfix()<cr>'). \'fi' call TermFeedRun(cmd) : 不过如同你所说的,即时 lint 的话,还是要用 lsp plugin 才能达成。 : : 为了不用滑鼠,自虐,blame 了一下发现,下面的设定我竟然 2017 就塞了 : : nnoremap <Left> <Nop> : : nnoremap <Right> <Nop> : : nnoremap <Up> <Nop> : : nnoremap <Down> <Nop> : : 用内建的东西没几个人做得到呀,我塞了一堆自己需要的 plugin : : 感谢大大发出此文,让板上能热络点 : : 偷偷广告一下自己的 vim 文章,希望有更多人看了文章来交流 : : https://amikai.github.io/tags/vim/ : 上述的部分还真的不需要滑鼠 & 触控板, : 很多时候需要滑鼠都是需要对 cursor 所在 keyword 做操作, : 但是 vim 本身其实包含很多相关功能,像是 K 查询 keyword、ctrl-] 查询 tag, : # 跟 * 可以搜寻 keyword,gf 开启目前 keyword 所在的档名等等。 : 内建指令还不够用的话,在 command line mode 用 <C-r><C-w> 跟 <C-r><C-a> 也能 : 输入 cursor keyword 跟 cursor KEYWORD (keyword 前後一直扩展到空白为止的文字) : 另外一个常见滑鼠操作则是复制 & 贴上,这部分如果用 terminal 的话, : 可以设定 system clipboard,也就是 "+ 跟 "*,在 Linux 上通常是用 X11 的剪贴簿。 : 设定完以後就不需要滑鼠选取复制等 terminal emulator 的功能, : 而是让 vim 直接把文字复制到 system clipboard,也能比较方便复制 text object。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 98.33.86.82 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Editor/M.1602060819.A.246.html
1F:推 as23041248: 我习惯使用 vim-dispatch 10/07 21:11
2F:→ as23041248: msearch.vim 感觉就是你写的呀 10/07 21:13
3F:推 mars90226: 我目前也是用 vim-dispatch,不过其实工作环境上需要 10/08 09:09
4F:→ mars90226: chroot 环境,感觉有点不太好用,所以平常还是terminal 10/08 09:09
5F:→ mars90226: 执行指令 10/08 09:09
6F:→ mars90226: 个人认为两边逻辑不太相同,asynctask 比较希望针对专 10/08 09:10
7F:→ mars90226: 案设定各自的 build script,vim-dispatch 则是针对语 10/08 09:11
8F:→ mars90226: 言设定 build script,可以运用的情境稍微不同 10/08 09:11
9F:→ as23041248: 我觉得两者几乎一样呀 10/08 09:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP