回答
在命令模式下,按下Ctrl鍵 - v進入可視化模式,那麼你可以使用光標移動鍵塊選擇列。然後,您可以使用適當的vim命令和擊鍵來放大並放置或刪除它或您需要的任何內容。
,使用:%s/pattern//
圖案不能夠用一個命令,它主要是一個正則表達式。正則表達式中表達第二個領域是不是很容易
如果要刪除第2場,可以過濾通過切割工具
:%! cut -d ' ' -f 2 --complement
,您可以按文本,然後按瓦特到去你的第二欄,並做cw。
即使第二列不是矩形區域,也不必使用awk。使用替換:
:%s/ \w\+//
第二列由至少一個由空格分隔的單詞字符(\ w \ +)組成。替換是一個空白。這一個是線的選擇範圍:
:'<,'>s/ \w\+//
您可以在文件剛剛從VIM刪除一個給定列。 在命令模式下使用以下命令來刪除列n:
:%s/\(.\{n-1}\).\{1}\(.*$\)/\1\2/g
儘管他們可能解決樓主的問題,沒有答案的解決了問題的標題廣告的問題。我的建議是刪除問題的第一行,並將其作爲「刪除vim中的一列」被一致拒絕,這裏是通過實際查找到達的人員的解決方案。
刪除與awk
的柱(這裏,第二個,如在OP的僞代碼示例)在vim
:
:%!awk '{$2=""; print $0}'
當然,它也適用於該文件的一部分 - 例如對於線10〜20:
:10,20!awk '{$2=""; print $0}'
至於「[運行] awk
在Vim
的搜索的選擇」,不知道你能準確地做到這一點,但無論如何搜索和替換是awk
一件容易的事,如果不是它的主要目的。
:%!awk '$2~"pattern" {gsub("pattern","betterpattern",$2)}
注意,NOT
運營商需要逃逸(的\!
代替!
):下面的第二列,如果它匹配替換「模式」與「betterpattern」。下面通過其增量由10代替在第二列中的值,如果它符合「數字」,讓其他線路不變:
:%!awk '$2~"number" {gsub($1,$1+10)} $2\!~"number" {print $0}'
Appart酒店從這一點這只是awk
語法。
我同意,這個問題應該改名,或者這個答案投票最正確的一個。 – AzP 2013-01-08 19:40:15
- 1. Vim在C/C++代碼行中搜索
- 2. Vim的搜索
- 3. 在Vim中高級搜索
- 4. Vim:在Open Buffers中搜索
- 5. 在vim中包含搜索
- 6. 在vim中搜索選擇
- 7. 在Vim中搜索/替換
- 8. VIM - 僅在搜索
- 9. Vim多行搜索模式
- 10. Vim的cnoremap在搜索
- 11. vim搜索\\不\
- 12. 在Vim上面搜索一行
- 13. awk搜索行的括號,例如[
- 14. 運行AWK正在用awk
- 15. 搜索使用AWK
- 16. 搜索使用awk
- 17. 在Vim中命名的搜索?
- 18. 使用Negative lookahead的Vim多行搜索
- 19. Vim的開始從當前行搜索
- 20. 在awk中打印搜索模式
- 21. 在awk中按名稱搜索列
- 22. 搜索模式在awk中從變量
- 23. 如何在awk中搜索文件
- 24. 搜索高亮(hlsearch)在vim
- 25. 取消搜索在vim
- 26. 在搜索VIM修改
- 27. 在AWK中運行命令
- 28. Vim增量搜索
- 29. vim打開後立即運行搜索命令?
- 30. 一鍵VIM宏/搜索和運行宏交互
這是一個偉大的命令,我往往很容易忘記 – 2009-12-20 22:11:09