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/m.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燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP