我正在尋找一個命令,將光標從同一行刪除到第一個非空白字符。我谷歌搜索了一段時間,並嘗試了幾種可能性。沒有快樂。有人在那裏知道如何做到這一點?如何刪除vim中的非空白字符?
回答
該序列dw將刪除光標中的所有字符,直到下一個單詞。這意味着如果您在站在單詞中間的位置執行命令,它將刪除該單詞的剩餘部分和隨後的空格。可能或不可能是你要找的東西。
dw應該工作。
你也許想試試dW。這將通過「WORD」(請參閱WORD和Word的幫助)來移動,這看起來更適合您的問題。
的dw
將不能滿足您的需求,例如:
array[1] = 5
擊中dw
而定位在a
你會留下:
[1] = 5
但使用dW
將導致:
= 5
要刪除一個詞,無論光標處於哪個字母上,使用daw(助記符「刪除一個詞」)也可以與其他命令一起使用,例如, caw「改變一個詞」。 f和t是可以與d一起使用的其他優秀命令。例如。從光標刪除幷包括第一次出現的例如字母「t」,使用dft。要使「t」完好無損,請改爲使用dtt。
這裏的許多答案並不直接解決問題。提問者想知道如何刪除最多第一個非-空白字符。一些答案將技術上的工作,但讓我們看看如何明確地做到這一點。
以下示例說明如何在正常模式下執行此操作,其變體佔光標的起始位置。在U̲ nderlined C̲ haracters指示光標的位置:
d 瓦特: foo_ 酒吧 → foob& #x0332; ar
的d elete瓦特 ORD命令,在其他的答案中所述,只是正常刪除直到下一個非空字符,當我們的光標目標之前定位。
db: FOO B̲ AR → B̲ AR
當然,我們會想嘗試d的逆W¯¯光標之前刪除向後的第一個非空格字符。但是,如上所示,d elete b ack-word命令刪除超出我們預期的—它也會刪除前一個單詞。對於這種情況,我們應該使用:
d牛逼<? >: 富 B&#x0332; AR → foob&#x0332; AR
...其中<? >是光標前的第一個非空白字符。該d elete回未牛逼 IL命令清除一切直到但不包括字符<? >,在這種情況下,它是在「foo」末尾的字符或。
d不<? >: foo_ 酒吧 → 炸彈&#x0332; AR
到前面的命令類似,我們可以使用d elete未不 IL(用小寫「T」)刪除字符向前直到下一個<? >字符(b在 「棒」,對於本例)。這實現了相同的結果ð瓦特對這個問題的目的。
d我瓦特: 顏色 _ 酒吧 → 炸彈&#x0332; AR
如果我們的光標定位在空白的中間,我們可以使用d elete 我 nner瓦特 ORD命令從兩側刪除空格。
d/<? >&#x21b5;: foo_ \n
酒吧 → 炸彈&#x0332; AR
如果我們要刪除的空白包括線制動器,我們可以使用上述d中所示的命令 elete直到<匹配的模式?>,其中模式在這種情況下只是第一個非空白字符。如圖所示,按輸入即可完成此命令。
當中斷後的第一個非空白字符出現在行首時,Vim將刪除空格,但將目標留在下一行。我們需要添加J到上述命令到J oin行(大寫字母「j」)。
d/<? >&#x21b5;Ĵ: foo_ \n
酒吧 → foob&#x0332; AR
- 1. VIM:刪除所有的空白,直到下一個非空白字符
- 2. 在vim中刪除周圍的空白
- 3. vim:刪除所有到我的光標的空白字符
- 4. VIM:刪除非羅馬字符
- 5. GVim/Vim。如何刪除所有空白到某個字
- 6. JavaScript的 - 如何刪除某些空白字符字符串
- 7. 關閉刪除Vim的尾隨空白
- 8. 刪除空格字符,直到達到以前的非空白字符
- 9. SQL如何刪除所有的ASCII字符(空白字段輸入後空白)
- 10. 如何刪除ios中的字符串前面的空白
- 11. 如何刪除csv文件中字符序列後的空白?
- 12. 如何從textview中刪除空白字符串的邊距?
- 13. Emacs命令刪除高達非空白字符
- 14. Vim:複製/刪除行從第一個空白字符到最後一個空白字符
- 15. 從非空白字符串中排除逗號字符
- 16. 修剪字符串,刪除空白
- 17. 貝爾字符(\一)刪除空白
- 18. 刪除字符串中多餘的空白字符
- 19. C - 刪除字符串中的空白字符
- 20. 如何從查詢字符串中刪除空白值params
- 21. 我如何刪除空白?
- 22. 如何刪除backBarButtonItem空白
- 23. 如何刪除空白行?
- 24. 如何從只包含空白字符的ArrayList中刪除字符串?
- 25. 如何刪除Jekyll中的空白?
- 26. 如何刪除列表中的空白
- 27. 如何刪除路徑中的空白?
- 28. 如何刪除Mysql中的空白行?
- 29. 如何刪除C#空白後的尾隨字符?
- 30. 刪除字符串中的空白空間
這確實它。這有點違反直覺 - 我期望dw的意思是「從光標開始刪除當前單詞」。但它的作品,它的作品。謝謝。 – Singlestone
按照通常的方案,您也可以通過d2w,d3w和c來刪除所有字符,直到光標後面的第二個或第三個字。如果這個答案解決了你的問題,請接受它是正確的。 – richardolsson
+1。確切地說,'w'的意思是「移動到下一個單詞的開頭」,並且從當前位置刪除到移動到達的位置。 – orip