我有兩個緩衝區。我想將第一個緩衝區中的第2,5,9和10行復制到第二個緩衝區(只需追加到第二個緩衝區)。除了複製和一次一行以外,是否有任何優雅的方式可以這樣做?如何在Emacs中將多行從緩衝區複製到另一行?
回答
一個簡單的解決方案將被記錄的宏拷貝從一個緩衝器的線到另一個(F3 C-SCP的C n的Mw CXö賽揚CXöF4)在每行上,然後執行該宏(F4)你想複製。
如果這是您的反覆出現的情況,您可以保存宏並將其綁定到密鑰。
這就是我想要的答案。此外,剛剛學會了如何使用微型。 –
對於現成的功能,我建議您看看multiple-cursors.el
。當你需要在多個地方選擇和修改符號/正則表達式時,它特別有效。
https://github.com/magnars/multiple-cursors.el
但是,它也可以處理的特定行通過其通用加光標功能/分:
mc/add-cursor-on-click
但是,這意味着你必須將其綁定到一個鼠標事件(如推薦在提示部分):
(global-set-key (kbd "C-S-<mouse-1>") 'mc/add-cursor-on-click)
這意味着你要達到的鼠標,但它看起來很容易地創建一個新的功能mc/add-cursor-at-line
:
(defun mc/add-cursor-at-line (&optional linenum)
(interactive "nLine number: ")
(save-excursion
(goto-char (point-min))
(forward-line (1- linenum))
(mc/create-fake-cursor-at-point))
(mc/maybe-multiple-cursors-mode))
然後,一旦你對所有線路多個遊標設置:
全部複製光標: C-SPC鈰Mw爲RET
個交換機緩衝器和...
猛拉矩形:CX RY
根據具體使用情況下,我可能會在整個區域從第一行復制到最後一行包含性,然後在新緩衝區中殺掉那些我不需要的行。
- 1移動到第一行的開頭複製
- 2.C-空間設置標記以開始標記的區域
- 3.移動的端部最後一行復制
- 4.Mw拷貝區域
- 5.C-X B緩衝器名RET轉到第二緩衝器
- 6。移動到插入位置在第二緩衝器
- 7.賽揚插入(抽出)區域
- 8.CX CX去猛拉區域
- 9的開端。Cn重複,直到你到達第一個不需要的行
- 10.CK CK刪除不想要的線
- 11.轉到9,直到完成
如果存在的不想要的線更長的區段是刪除在新的緩衝器,步驟9.到11.應該用類似的東西代替:
- 9.移動到開始的不想要的線
- 10.C-空間組標記更長的拉伸的開始標記的區域
- 11.移動到的不想要的線較長拉伸的端
- 12.CW殺區域
- 轉到9直至完成
您可以使用命令append-next-kill
,勢必C-M-w
,更多的文本添加到殺環上的最新條目。一個M-w
命令之前正確使用它,像這樣:
- 馬克和副本線路2:
C-SPC
,C-n
,M-w
- 移至行5
- 馬克和追加拷貝它:
C-SPC
,C-n
,C-M-w
,M-w
- 移動到第9行...
...等等。
當你用C-y
將文本抽出時,你會得到你選擇的行,並將它們附加到殺戒環中。
- 1. 如何在emacs中的緩衝區之間複製整行?
- 2. 將緩衝區內容複製到另一個緩衝區
- 3. 如何使用行+文件引用從emacs緩衝區複製/粘貼區域?
- 4. 如何恢復emacs緩衝區列表中的緩衝區?
- 5. 在Gstreamer中將YUV視頻幀從一個緩衝區複製到另一個緩衝區
- 6. 將特定數據從源緩衝區複製到多個目標緩衝區
- 7. 所有emacs緩衝區中的行號
- 8. 將文本行粘貼到emacs緩衝區中
- 9. 如何在Vim中複製緩衝區?
- 10. 將深度渲染緩衝區複製到深度緩衝區
- 11. 如何在Emacs中將區域或整個緩衝區複製到另一個緩衝區而不影響kill ring?
- 12. Emacs意外地將緩衝區切換到臨時緩衝區
- 13. 調整大小從緩衝區JPEG到另一個緩衝區
- 14. Emacs - 多列一個緩衝區
- 15. 如何在gridview中將一行復制到另一行
- 16. 在emacs中獲取emacs 23緩衝區列表行爲24.2
- 17. 將結構複製到char []緩衝區
- 18. MPI_File_Iwrite,將fprintf複製到緩衝區
- 19. 將一個緩衝區中的點移動到與另一個緩衝區中的點相同的行號
- 20. 如何在同一個表中將數據從一行復制到另一行?
- 21. 如何將一行從JTable複製到另一個JTable中
- 22. Markdownize Emacs緩衝區
- 23. Emacs erlang緩衝區
- 24. 如何將原始內存複製到nodejs中的緩衝區?
- 25. 在多個emacs緩衝區執行特定命令
- 26. 將行從表複製到另一個
- 27. 在Vim中,有沒有辦法將當前行號複製到緩衝區中?
- 28. 如何在mySQL中將文本列值從一行復制到另一行
- 29. 在Emacs小緩衝區
- 30. 複製整數緩衝區如果緩衝區在C
這是一個任意的例子,或者你想用這些行號重複多次的特定情況? – phils