визуальный отбор в bash / cli - PullRequest
5 голосов
/ 12 августа 2010

Есть ли способ заставить bash использовать визуальные выделения для замены текста ?

Стандартные соглашения о вводе текста не работают:

  1. Если вы нажмете Shift + стрелка влево, символ слева должен быть выбран визуально
  2. Если вы нажмете Ctrl + Стрелка влево, курсор должен переместиться в начало предыдущего слова
  3. Если вы нажмете Shift + Ctrl + Стрелка влево, слово слева должно быть визуально выделено
  4. Если вы визуально выделяете какой-либо текст, а затем нажимаете любую клавишу, текст должен быть заменен текстом клавиши, которую вы нажимаете

Режимы Vi (set -o vi) соглашения о визуальном отборе не работают:

  1. Если вы входите в обычный режим, нажмите «v», чтобы войти в визуальный выбор, затем нажмите «h», он должен визуально выбрать символ слева
  2. Если вы входите в нормальный режим, нажмите 'v', чтобы войти в визуальный выбор, затем нажмите 'B', визуально выберите слово слева
  3. Если вы визуально выделите какой-то текст, а затем нажмете 'R', текст должен стереться и вы сможете ввести замену

Ответы [ 2 ]

10 голосов
/ 14 декабря 2012

этот парень сделал это для zsh:

Я сделал VI VISUAL Mode для! ZSH. Эмулирует визуальный режим! VIM "v" в строке cmd. http://bazaar.launchpad.net/~raybuntu/%2Bjunk/ZSH_stuff/annotate/head%3A/zle_vi_visual.zsh

это круто!

3 голосов
/ 10 октября 2010

Когда я хочу сделать это в ZSH, я использую edit-command-line.Вы можете добавить следующее в ваш .zshrc:

autoload -U edit-command-line
zle -N edit-command-line
bindkey -M vicmd v edit-command-line

Тогда я могу просто набрать v в командном режиме, и он откроет мой $EDITOR.Вы можете сделать то же самое в Bash, просто набрав v в командном режиме без каких-либо настроек.

...