目前,我正在嘗試學習VIM並禁用所有模式的箭頭鍵。當輸入新的功能時,我總是用同時打開和關閉括號以便不會忘記它們。既然,我不能回去(沒有箭頭鍵),我想知道它是如何在VIM中完成的,因爲一旦關閉,你就不在括號內。如何跳入VIM中的括號
標準做法是退出插入模式,移入圓括號並再次進入插入模式?或者,您是否簡單地將括號保留開放直至完成?
我知道AutoClose腳本。這個問題更有助於理解VIM的做事方式,所以我想知道其他開發人員是如何克服這個問題的。
目前,我正在嘗試學習VIM並禁用所有模式的箭頭鍵。當輸入新的功能時,我總是用同時打開和關閉括號以便不會忘記它們。既然,我不能回去(沒有箭頭鍵),我想知道它是如何在VIM中完成的,因爲一旦關閉,你就不在括號內。如何跳入VIM中的括號
標準做法是退出插入模式,移入圓括號並再次進入插入模式?或者,您是否簡單地將括號保留開放直至完成?
我知道AutoClose腳本。這個問題更有助於理解VIM的做事方式,所以我想知道其他開發人員是如何克服這個問題的。
忘記一個右括號會導致後面突出顯示的問題,使您不可能進一步忽略它們。
我建議你在輸入參數的同時在括號中間輸入參數,並在完成參數後關閉參數。 (如果你正在努力學習vim
,無論如何,這個變化看起來並不是太大,無法適應 - 你必須適應的其他東西的數量已經相當驚人了。)
背後的想法Vim的模態本質是,你花大部分時間在正常模式下,而不是在插入模式下。當你想插入文本,並且只要你想做一些不插入原始文本的東西時,你只能進入插入模式 - 你將回到正常模式。
無論如何,如果由於某種原因您不想離開插入模式,您可以按CTRL+o
運行一個正常模式命令。但我建議習慣跳轉模式 - 切換模式應該是Vim用戶的第二個特性。
問題:標準慣例是退出插入模式,移入括號並再次進入插入模式?或者,您是否簡單地將括號保留開放直至完成?
答案:只需鍵入函數參數,然後鍵入右括號即可。但是,是的,如果您已經輸入了)
,然後您決定要返回一個角色,那麼您可能只需點擊退出鍵,然後在當前位置之前插入i
即可。這僅僅是兩次擊鍵,並且有經驗的vi用戶很習慣擊中Escape鍵。
如果您實際輸入了);
,則需要點擊退出鍵,然後點擊h
和i
。如果你做了很多,你會習慣它。
鍵的某些組合成爲第二性質。例如,可以通過點擊x
來轉換vi中的兩個字符,刪除光標下的字符並使光標位於下一個字符上;然後p
,將該字符粘貼到光標位置後面。我已經在我的生活中輸入了足夠多的時間,我甚至都沒有想過......我的手指只知道那些鑰匙在哪裏。我只是想:「哦,我需要交換這些角色」,我的手指猛擊了xp
。
同意...在使用vim幾天之後,OP甚至不會考慮這些事情。 vi的全部意義在於你操縱文本的一切都變成了第二天性。 – jahroy
首先,在命令模式下,%
將您移到相應的括號,括號或括號中。
要回答你的問題:是的,誰立即關閉他們的parens,括號,括號等......最有可能退出命令模式,然後重新進入插入模式返回編輯。
對我而言,這甚至不是我注意到的東西。你很快就會和你一樣。
每當我開始一個新的if語句,我立即打開並關閉大括號。之後,我添加右括號,我打ESCØ打開上面我的右大括號的行(或ESCķ我)。然後我再次開始輸入。
這不會給我帶來任何不便或問題。所有這些對你來說都將是第二天性的......
你甚至不會考慮那些箭頭鍵更長的時間......你只會使用h回去(或更好的東西) 。
你不要需要停止使用箭頭鍵。這是一個愚蠢的想法。
hjkl
比方向鍵只有「更好」如果您觸摸類型,因爲它位於主頁行。如果你不觸摸類型,你的手已經自然而然地做了很多修飾,並且達到了與其餘的方向鍵一致。如果你不觸摸類型,那麼就沒有回家了。
雖然你的問題並非真的是hjkl
vs箭頭問題。你可以通過習慣於只輸入左括號,然後輸入參數,然後輸入右括號或者使用「自動閉鎖」機制來解決這個問題。
您可以通過添加此行到您的~/.vimrc
做用簡單的方式:
inoremap (()<C-o>h
一種選擇是使用鍵映射跳轉到左括號/括號。我傾向於立即關閉括號/圓括號以確保它們是平衡的(即使vim會憤怒地讓我知道,如果發生這種情況,我會錯過它們 - 習慣的力量)。在vimrc拋出這樣的映射:
imap <C-S-h> <esc> :call search("[{[(]", "bes")<CR> i
這裏的命令故障:
<CTRL-SHIFT-h>
到<ESC>
(要回到正常模式),:call search("[({[]", "bes")<CR>
向後搜索一個開括號/括號並跳轉到它,最後i
返回插入模式所以我可以輸入foo();
,然後<CTRL-SHIFT-h>
跳回括號提供論據。
有點相關:看着vim-surround plugin,一旦你掌握了它,它就是一種生產力的提升!
你說的是'%'還是'f)'? –
不,我其實是指一旦關閉後我如何回到支架(); //光標現在在這裏。在其他編輯器中,您只需使用箭頭鍵,但我禁用了我的習慣以適應VIM模式。 – ddillert
在使用vim幾天之後,您甚至不會注意到進入和退出模式。 vim的重點是讓你做任何操作文本的第二天性。它不會需要很長時間,年輕的絕地。 – jahroy