啟用 Ctrl(或 Alt)+ 箭頭鍵來模擬“home”和“end”功能

啟用 Ctrl(或 Alt)+ 箭頭鍵來模擬“home”和“end”功能

我是一名長期的 Mac 用戶,現在使用 Ubuntu 機器進行開發,雖然我或多或少習慣了很多鍵盤快捷鍵,但我無法習慣的一件事是使用“Home” ' 和'End' 鍵在文本行中移動。在 Mac 上,您可以使用「Command + 向右箭頭」前往行尾,使用「Command + 向左箭頭」前往行首。

有沒有辦法在 Linux 中啟用這種功能?

我不確定這是否會被視為重新映射、鍵盤快捷鍵或什麼...

答案1

使用xmodmap一些提示)您可以重新綁定整個視窗系統的按鍵。以下方法將提供您想要的東西,但有副作用:(

首先在終端機視窗中嘗試一下:

  1. 讓左鍵Alt成為所謂的Mode_switch

    1. 為此鍵指派 Mode_switch 鍵符號:

      xmodmap -e 'keycode  64 = Mode_switch Meta_L Alt_L Meta_L'
      
    2. (通常:確保將 Mode_switch 指派給 mod1-5 修飾鍵之一,但在 Ubuntu 中已經是這種情況)

  2. 修改第三行的LeftRight

    xmodmap -e 'keycode 113 = Left NoSymbol Home'
    xmodmap -e 'keycode 114 = Right NoSymbol End'
    

變更將保留到您登出為止。如果您想永久保留它,請將以下內容放入文件中~/.Xmodmap

keycode  64 = Mode_switch Meta_L Alt_L Meta_L
keycode 113 = Left NoSymbol Home
keycode 114 = Right NoSymbol End

但請注意,這會覆蓋 Alt 鍵的正常功能(存取選單、Alt-Tab 等):(

不過,我不是 xmodmap & Co 的專家。也許其他人知道如何解決這個問題。總的來說,我真的很喜歡 Ubuntu 和 Linux,但整個鍵盤的東西太複雜了,而且很糟糕:-<

答案2

這是專門針對 sublime text 的,但對於任何尋找重新映射 alt 和箭頭鍵以使其像在 Mac 上一樣運行的方法的人來說,可能會像我一樣偶然發現這個答案。在 sublime 中,開啟 Preferences > Key Bindings - User 並在方括號之間新增以下內容。

{ "keys": ["alt+left"], "command": "move_to", "args": {"to": "bol", "extend": false} },
{ "keys": ["alt+right"], "command": "move_to", "args": {"to": "eol", "extend": false} }

現在,至少你有一個有用的文字編輯器,具有正確的 alt + 左右箭頭!希望這能有所幫助。

答案3

對於使用 readline 的程式(例如 bash),您可以編輯~/.inputrc以綁定beginning-of-lineend-of-line到適當的序列。 GUI 小工具工具包有自己的綁定,您必須為它們找到合適的部分,假設這是可能的(GTK+ 2.x)。

相關內容