我讀過幾個地方的emacs中的矩形函數非常有用。我讀了一些關於他們的信息,我不明白爲什麼。我的意思是,當你想殺死一個段落時,你將第一行/第一列標記爲最後一列,這實際上是一個矩形,對吧?但你仍然可以使用正常的殺死...emacs中的矩形函數
那麼你會與他們做什麼樣的轉變?
我讀過幾個地方的emacs中的矩形函數非常有用。我讀了一些關於他們的信息,我不明白爲什麼。我的意思是,當你想殺死一個段落時,你將第一行/第一列標記爲最後一列,這實際上是一個矩形,對吧?但你仍然可以使用正常的殺死...emacs中的矩形函數
那麼你會與他們做什麼樣的轉變?
如果您在具有M-x delete-rectangle
或M-x kill-rectangle
的文本文件的列中有數據,則可以刪除單列數據。同樣,M-x yank-rectangle
將粘貼在一段文字中。
例如,採取以下文字:
1. alligator alphorn
2. baboon bugle
3. crocodile cornet
4. dog didgeridoo
5. elephant euphonium
6. fish flugelhorn
7. gopher guitar
選擇從鱷魚的一個與G吉他。選擇的開始和結束標出矩形的兩個對角。輸入M-x kill-rectangle
你立刻擁有:
1. alphorn
2. bugle
3. cornet
4. didgeridoo
5. euphonium
6. flugelhorn
7. guitar
接下來把關口上方行的末尾,添加一些空間,如果需要,並輸入M-x yank-rectangle
和噹噹!你已經重新排序的列:
1. alphorn alligator
2. bugle baboon
3. cornet crocodile
4. didgeridoo dog
5. euphonium elephant
6. flugelhorn fish
7. guitar gopher
我喜歡用矩形2種主要用途,將在每一行相同的文字,或殺死一列文本(類似戴維·韋伯的答案)。
有這些2個有用的快捷鍵,C-x r k
會殺了一個矩形,C-x r t
插入(有一個C-x r
前綴其他矩形的命令,但這些是我經常使用的)。
所以我們假設你想採取一些代碼並對其進行格式化,以便你可以將它發佈在Stack Overflow帖子中......你需要以4個空格作爲前綴。所以,去第一行的開頭,C-SPC
去標記,然後去最後一行的開頭,C-x r t <SPC> <SPC> <SPC> <SPC> <RET>
,那就有它了!然後你可以複製並粘貼到堆棧溢出。我遇到了更復雜的情況,在這種情況下這很有用,您實際上在某個特定位置的每行上都要插入文本。
所以其他情況類似戴維·韋伯的情況下,如果你想殺死一個矩形,使用C-x r k
雖然,因爲它只是快了很多;-)
另外,根據我的reference card我打印出來,當我剛開始,你可以做到以下幾點:
C-x r r
:複製到寄存器C-x r y
:猛拉一個矩形C-x r o
:打開一個矩形,正確地移動文本(無論如何......)C-x r c
:空出一個矩形(我假設,這意味着用空格代替它,但你必須嘗試一下,看看)C-x r t
:用文字前綴(如上所述)C-x r k
:殺(如上所述)在emacs24 +還有還有功能進行編號行:
(rectangle-number-lines START END START-AT &optional FORMAT)
Insert numbers in front of the region-rectangle.
START-AT, if non-nil, should be a number from which to begin
counting. FORMAT, if non-nil, should be a format string to pass
to `format' along with the line count. When called interactively
with a prefix argument, prompt for START-AT and FORMAT.
它綁定到C-x r N默認情況下。
我有部分完成模式打開,所以對於YANK-rectangle我可以使用M-x y -r [tab] [ret],但是你是對的,默認快捷鍵更快。 – 2008-09-13 06:39:31