Часто мы тратим время на включение редакторов больше, чем тратим на исправление или написание какого-то однострочного скрипта. Я считаю что эту проблему можно быстро решить, ведь для этого и существуют консольные редакторы
Предыстория
Каждый опытный программист печётся о том, как бы побыстрее закончить начатую им работу. Очень часто заказчик не понимает сколько времени и труда тратят разработчики.
Я как учащийся понимаю, что 2 года в программировании — ничего, ибо люди работают по 10 лет и едва ли получают звания Сеньоров, ибо в наше время нужно знать всё больше и больше. Главный инструмент опытныго или начинающего разработчика — редактор кода. Именно он позволяет сэкономить время и как можно быстрее приступить к изучению материала.
Всегда приятно, когда ты можешь "летать" по коду. Ты знаешь что и где находится, а если не знаешь, то можешь найти. Именно это предает нам сил и оперативности в разработке.
Какой же редактор выбрать?
Редакторов в 2020 году существует огромное количество: VSCode, Sublime text, Atom, Vim, Neovim, Emacs, NotePad++, Brackets, Nano и ещё многие другие.
Почему именно ваше внимание должен привлечь NeoVim?
Я думаю, что отвечу на этот вопрос быстро. Вне зависимости от того, на какой ОС вы работаете, вы всегда сталкивались с проблемой "Чёрт, сейчас надо быстро написать (или исправить) небольшой кусок кода" и тут начинается… Вы открываете редактор (пусть это будет VSCode) он включается через 5 секунд, прогружается ещё 3 секунды, открывает папку с файлом 2 секунды, (предположим что пишем что-то на Python, для простоты примера) загружает обновления для дополнений и сами дополнения около 10 секунд. Вы только что потратили 20 секунд своей жизни (при условии что сборка ПК у вас средняя, допустим что это будет ноутбук, который просто удобно использовать не только дома) чтобы написать или исправить какую-то мелочь.
Теперь посмотрим на ситуацию с другой стороны: открыть терминал — секунда ровно, открыть NeoVim с дополнениями — секунда. 2 секунды итого (или 5, если не особо торопиться). NeoVim открывает большие файлы за секунды. Он удобен в использовании. Многие скажут вам: "Это апдейт Vim'а, из которого я даже выйти не могу" — на что я отвечу вам, что эти хоткеи — лучшее, что дал Бог людям.
А почему не просто Vim?
В NeoVim пофиксены многие баги. Встроена "проверка здоровья", фреймворк, который помогает вам правильно настроить конфигурацию, а также проверить работу плагинов. Также, были вшиты некоторые плагины:
*standard-plugin-list*
Standard plugins
|pi_gzip.txt| Reading and writing compressed files
|pi_health.txt| Healthcheck framework
|pi_matchit.txt| Extended |%| matching
|pi_msgpack.txt| msgpack utilities
|pi_netrw.txt| Reading and writing files over a network
|pi_paren.txt| Highlight matching parens
|pi_spec.txt| Filetype plugin to work with rpm spec files
|pi_tar.txt| Tar file explorer
|pi_zip.txt| Zip archive explorer
Взято из :help (мануала) NeoVim
Также стоит привести перевод (немного упрощенный) официального сайта
Расширяемый
- API является хорошо задокументированным
- Удаленные плагины работают как совместные процессы, что делает их безопасными и асинхронными.
- Графические интерфейсы, IDE, веб-браузеры могут включать Nvim в качестве редактора или хоста скриптов.
- MessagePack — структурированный язык, который позволяет писать плагины на любом языке
Юзабельный (простой в применении)
- Работает везде одинаково
- Все ещё чтит некоторые старые традиции Vim
- Современные функции редактора, такие как стилизация курсора, события с фокусом (скорее всего имеется ввиду автосохранение при потере фокуса как в VSCode), операции со скобками
Всё ещё Vim
- Полностью совместим с моделью редактирования Vim и языком Vimscript
- Начните с: help nvim-from-vim, если вы уже используете Vim и хотите перенести некоторые настройки
Кратко о передвижении и хоткеях NeoVim
j
— вниз
k
— вверх
h
— влево
l
— вправо
Редактирование
i
— войти в режим редактирования с текущего положения курсора (insert)
a
— войти в режим редактирования со следующего символа (append)
I
— войти в режим редактирования с начала строки
A
— войти в режим редактирования с конца строки
dd
— удалить строку (delete)
dw
— удалить слово (delete a word)
dl
— удалить символ (delete a letter)
o
— режим редактирования (insert) на новой строке, что ниже данной
O
— режим редактирования на новой строке, что выше данной
Также, каждый delete
можно совмещать с цифрой: 7dl
— удалит 7 символов
Чтобы скопировать что-то нужно перейти в режим visual и выделить что нужно скопировать, а затем нажать y
(yank)
p
— вставить из буфера (внутреннего) (paste)
Перемещение
w
— переместиться на начало следущего слова (word)
W
— переместиться на начало следующего слова пропуская скобки, кавычки и далее
b
— переместить в начало слова (или начало предыдущего слова) (скобки, кавычки считаются за слово) (backword)
B
— переместиться в начало слова (Скобки, кавычки не считаются за слово)
e
— перейти в конец слова (следующего слова) (end of the word)
E
— перейти в конец слова (после скобок и всего прочего)
gg
— перейти в начало файла
G
— перейти в конец документа
^
— начало строки
$
— конец строки
/
— поиск внизу файла (n — для следующего найденного; N — для предыдущего найденного)
?
— поиск вверху файла
После просмотра этих скучных комбинаций клавиш
Теперь представьте, вы можете перемещаться по коду через 50 слов сразу, нажав 3 клавиши. Вам не нужно целиться мышкой по тегам или операторам. Вы можете сразу просто взять и перепрыгнуть куда вам нужно. Поиск — одна клавиша, а не Ctrl+F, как это придумано везде. До стрелок впредь не нужно тянуться.
Хвастовство
Только благодаря NeoVim я смог увелеичить свою производительность в 3-4 раза (естественно, относительно времени). NeoVim — легкий способ писать код и не только. Многие как будто намеренно нагоняют сложность на все Vim-подобные редакторы. Я же наоборот хочу убедить читателя, что нет ничего такого в том, чтобы что-то выучить, а затем использовать это эффективно.
Было бы нечестно если бы я не указал ссылку на этот замечательный редактор
//Добавляю GitHub проекта — прим. модератора
Как говорил Тим Бернерс-Ли:
Магия перестаёт существовать после того, как вы понимаете, как она работает.
На всякий случай оставлю тут конфигурацию, которую я использую:
call plug#begin()
" FuzzyFinder (для быстрого поиска)
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
" NERDTree - быстрый просмотр файлов
Plug 'preservim/nerdtree'
" Сoc - автодополнение
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Дополнения для NERDTree
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
Plug 'scrooloose/nerdcommenter'
" Дополнение для Git, а также иконки для NERDTree
Plug 'airblade/vim-gitgutter'
Plug 'ryanoasis/vim-devicons'
" Линия статуса
Plug 'itchyny/lightline.vim'
" Темы
Plug 'joshdick/onedark.vim'
Plug 'cocopon/iceberg.vim'
" Проверка Синтаксиса
Plug 'scrooloose/syntastic'
" Плагин автозавершения
"Plug 'Valloric/YouCompleteMe'
" Поддержка Python
"Plug 'klen/python-mode'
call plug#end()
" Делаем Vim более функциональным
set nocompatible
set t_Co=256
" Делаем линейку для отображения на какой мы строке и сколько расстояния до
" других строк в **NeoVim**
set number
set ruler
" Комбинация клавиш jkl - действует как Escape в режиме Insert
inoremap jkl <ESC>
" Делаем так, чтобы навигация работала на русском языке
nmap о j
nmap л k
nmap р h
nmap д l
nmap ш i
nmap ф a
nmap в d
" В нормальном режиме Ctrl+n вызывает :NERDTree
nmap <C-n> :NERDTreeToggle<CR>
vmap ++ <plug>NERDCommenterToggle
nmap ++ <plug>NERDCommenterToggl
let g:NERDTreeGitStatusWithFlags = 1
let g:NERDTreeIgnore = ['^node_modules$']
" Тема для **NeoVim**
syntax on
colorscheme iceberg
" Линия статуса: конфигурация
set noshowmode " Табличка --INSERT-- больше не выводится на экран
set laststatus=2
let g:lightline = {
\ 'colorscheme': 'iceberg',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ]
\ },
\ 'component_function': {
\ 'gitbranch': 'fugitive#head'
\ },
\ }
KentSilver
Нужно кому? Никогда не понимал подобного рода статьи, смахивающие на насильное насаждение чего-либо.
Username77177 Автор
Я бы сказал что есть люди которые даже не представляют «что там за Vim и с чем его подают». Инструмент удобный, всем советую, но ни в коем случае не в категорическом порядке. Есть друзья, которые сидят на VSCode и Atom, при этом убеждая меня вернуться обратно на GUI. На вкус и цвет, как говорится, друга нет
azazar
Тут была помнится статья подобная про vim. Для меня показатель продуктивности — количество нажатий клавиш необходимое для осуществления самых часто используемых манипуляций. И автор тот не смог привести достаточно реальных примеров, где для выполнения одинаковых действий vim требует меньше нажатий клавиш, чем даже mcedit. Клоны vi весьма убоги, если не дорабатывать напильником. А уж идея переключения между режимами навигации и редактирования так вообще идиотизмом отдаёт. Тот же vscode запускается довольно быстро, а уж при умении пользоваться хоткеями даст фору любому vim. Единственная причина ознакомиться с vi — использовать его там, где других редакторов нет.
berez
Да не так уж все плохо в mcedit. Разве что дурацкая привязка insert file к клавише F15 (где они ее нашли на современных клавиатурах?) — приходится через меню тыцкать.
DrPass
А Shift+F3, случайно, не работает? На эмуляторах терминалов F13-F24 обычно вызываются так.
berez
Нет, так не работает.
azazar
Не так уж плохо. Но это всё же очень примитивный редактор.
eumorozov
Ситуация, когда что-то требует меньше нажатий, чем в vim, почти невозможна, если уметь пользоваться vim за пределами hjkl, aixyp.
Удалить с текущего места до конца строки:
D
. Поменять до конца строки:C
. Одно нажатие. Больше такого нет ни в одном редакторе.Поменять содержимое внутри круглых скобок (с любого места, не обязательно, если находишься сразу за открывающей скобкой):
ci(
. Удалитьdi(
. Удалить вместе со скобкамиda(
. Удалить до определенного символа (например, двоеточия):dt:
.При редактировании в языках с блоками, разделяемыми фигурными скобками. Удалить содержимое блока (даже если оно занимает много строк):
di{
. Поменять:ci{
.Простите, никакой mcedit по эффективности даже близко не стоит.
К тому же, я могу зайти куда угодно, на какой-нибудь облачный сервер, на машину коллеги, да хоть куда, и хотя бы vi будет там всегда по умолчанию.
DrPass
Всё это хорошо. Но есть одно «но». Я более 20 лет пишу софт. Я написал мегабайты и мегабайты кода. Я не помню точно бОльшую часть того, что я написал. Но одно я знаю точно — возможность удалить что-то с текущего места до конца строки, или тем более поменять до конца строки одним нажатием, а также удалить содержимое внутри круглых скобок, и прочие навороты никак, ни ни йоту не увеличат мою продуктивность. В разработке, грубо говоря, приходится 90% думать 10% писать. Из этих 10% вы также 90% собственно пишете, 10% редактируете. Из 10% редактирования вы. этак 0.1% времени делаете всё вышеперечисленное и тому подобные вещи.
eumorozov
Я и не говорю, что это увеличивает продуктивность. Это радикально повышает удовольствие от процесса. Код меняется с той же скоростью, с которой я думаю о том, что надо изменить. При этом не болят руки в конце рабочего дня (RSI и всякие прочие неприятные бяки).
Второе удовольствие — это когда я могу зайти на сервер (пускай не production, а staging, менять вживую код на production — моветон, хотя иногда приходилось прибегать и к такому), и поменять что-то на живую нитку, но не задумываясь при этом, почему я в сессии ssh нажал
Crtl-Alt-Shift-пробел
, а оно не сработало, т.к. было проглочено эмулятором терминала или еще чем-то по дороге. Заходя на любой сервер я могу отредактировать любой файл с таким же комфортом, как и локально.Пускай, при этом моя производительность повысилась всего на 1%. Зато удовольствие от того, что мне не надо переключать контекст в голове, и от того, что мои мысли везде плавно и беспрепятственно перетекают в изменения, повысилось на 100%.
DrPass
Мне кажется, это уж слишком субъективная штука. Для меня хороший редактор тот, которого не замечаешь. И с этой ролью прекрасно справляется большинство современных редакторов. Главное условие тут не расклад хоткеев (тем более что даже типичный виндовый редактор наиболее употребительные функции вызывает в одно движение, и не требует переключения между режимами), а повседневная работа с ним.
eumorozov
Не замечается как раз vim, потому что его система команд одновременно необычайно краткая и эргономичная (не надо двигать кисти и растопыривать пальцы в различные комбинации), и при этом она семантическая, то есть, достаточно понять основные строительные блоки, и из них можно уже создавать с легкостью невероятно удобные комбинации на лету не задумываясь. С легкостью. Это даже не запись макросов. Это ты знаешь команду для изменения символа, и на лету выводишь из нее при необходимости команду для изменения слова или абзаца или блока или всего текста.
Ни в одном другом редакторе такого нет.
DrPass
Объясните ради бога, что в этом вообще плохого/неудобного? Нажатие Ctrl+ «что-то там» делается в одно движение, точно так же, как нажать кнопку c. И тем более быстрее, чем перейти в командный режим, нажать кнопку с, потом снова перейти в режим набора. Вы просто привыкли к другому редактору, только и всего.
eumorozov
Перед тем как привыкнуть к vim я привыкал к другим редакторам. И к vim пришел далеко не сразу, а перешел лишь потому, что осознал в итоге его преимущество.
Переключение между режимами простое и не вызывало никаких затруднений даже на самых начальных этапах использования vim. Это только со стороны кажется сложным. В большинстве случаев об этом не задумываешься. Надо написать новый код: нажимаешь
i
илиa
и пишешь. Надо изменить существующий: нажимаешьc
илиC
илиcw
илиci{
и редактируешь. Обычно это проще, чем в традиционном редакторе выделитьCtrl-стрелки
блок, удалить и написать что-то другое. Хотя бы потому, что Ctrl и стрелки в разных углах клавиатуры, и требуется далеко переставлять руки. Кроме того,Ctrl-стрелки
— это довольно "тупой" механизм выделения, требующий больше нажатий неудобных сочетаний.Да и к тому же, я не продаю Вам vim. Хотите используйте хоть Eclipse в качестве редактора, мне-то что. Кто хочет повысить свой комфорт и эффективность, тот уже наверняка обратил внимание на vim. А донести это до каждого — не моя задача. Я не автор vim, не автор руководств по vim, а просто благодарный пользователь.
DrPass
Ну что такое «традиционный редактор»? Это ведь функция для редактора кода, она вполне себе распространена. Выделить блок и что-то с ним сделать, например, в Visual Studio делается также одной комбинацией, Ctrl+Shift+].
eumorozov
А в IntelliJ — другое сочетание. И что же, всю жизнь забивать память всей этой ненужной информацией, которая сменяется каждые 5-10 лет, если не быстрее. Я уж лучше что-то более полезное изучу, чем тратить время и силы регулярно на осваивание новых редакторов.
DrPass
А вы правда надеетесь всю оставшуюся жизнь обойтись одним редактором?
eumorozov
Не знаю, смогу или нет, но очень надеюсь. Во всяком случае, если бы я пользовался mcedit, то такой надежды у меня даже близко не могло бы быть.
gecube
Что проще — нажимать комбинации из трех клавиш или более (реферансы в сторону Ctrl + Shift + нечто)
или перейти в командный режим, последовательно набрать вслепую несколько букв, не растопыривая пальцы, и вернуться назад в режим редактирования? Тем более — если ты постоянно прыгаешь между мак, линь и винь, где разные Command/Control
DrPass
Вообще, из двух. Это всего одно нажатие, а перейти в командный режим, нажать несколько букв и вернуться в режим редактирования — это несколько нажатий. Для меня однозначно проще первое. Комбинации из трех клавиш существуют, но, минуточку, как часто ими приходится пользоваться? Насчет «и более», я таких не знаю.
berez
Во-первых, вы слегка лукавите. Нужно еще шифт давить — т.е. формально это уже не одно нажатие. Ну ладно, будем считать это одним двойным нажатием.
А вот то, что нужно еще не забыть переключиться из режима ввода текста в режим команд, вы почему-то скромно умолчали. Да, я понимаю, что это уже записано в подкорку и происходит автоматически, но сами-то нажатия никуда не делись. Более того, у многих пользователей vim нажатие esc происходит автоматически вообще перед любой командой, даже несмотря на то, что vim уже находится в нужном режиме. Просто потому, что проще не задумываясь ткнуть в кнопку, чем следить за режимами редактора.
Во-вторых, количество нажатий кнопок — это не синоним эффективности. В противном случае не было бы никаких споров о том, какой редактор лучше — победителя бы определили формальным подсчетом и закрыли бы этот вопрос навсегда. На практике всегда побеждает тот редактор, к которому привык конкретный пользователь. :)
eumorozov
Большинство команд в vim выполняется за 1, 2, 3 нажатий клавиш (пускай даже с Shift). Эффективнее может быть только телепатия. Потому что меньшего количества нажатий нельзя добиться ни в каком редакторе.
Esc перед каждым нажатием, думаю, делают только новички. У меня нет такой привычки.
Понять, что vim один из самых эффективных редакторов, многим мешают какие-то идиосинкратические предубеждения ("как это, я буду пользоваться этой архаичной программой, которая бибикает и все портит"). Я всех убеждать не собираюсь, просто хотел в комментариях дополнить текст автора, который не сумел этого сделать. Это вообще сложно объяснить, особенно, потому что многие концентрируются на вещах, которые сложно понять и которыми почти никто не пользуется (типа,
10j
).berez
Я снова повторю, мне не в лом: количество нажатий — не есть мера эффективности редактора.
Не перед нажатием, а перед командой. И то, что вы думаете, что у вас нет этой привычки, еще не значит, что ее в самом деле нет. :)
Джеф Раскин вполне научно объяснял, почему наличие режимов сразу делает редактор неудобным для большинства пользователей. С другой стороны, у Раскина были слегка сферические представления о прекрасном — режимы никуда не делись, они повсюду (например — переключение раскладки клавиатуры). :)
eumorozov
Впервые я сел за клавиатуру компьютера около 30 лет назад. За это время я попробовал все существующие редакторы. От построчного редактора в BASIC MSX2 и Нортон Коммандера с Лексиконом до Visual Code, Atom и Sublime.
Но я конечно же говорю, что vim эффективнее, просто потому что я твердолобый зилот vim'а, который не может признать превосходство над ним невероятно эффективного редактора mcedit, да.
berez
Вот видите — в конечном итоге вы сами свели обсуждение к личностям, а не редакторам. Чем, собственно, косвенно подтверждаете то, что я уже озвучивал в треде: эффективность редактора зависит не от особенностей редактора, а от того, насколько к нему привык пользователь. :)
eumorozov
Вы так рьяно отстаиваете свое мнение, что непонятно становится — зачем.
Я вас не призываю переходить на vim, и не могу к этому склонить. Когда я был тимлидом, и у меня были подчиненные, даже в этом случае, меня не заботило, каким редактором и как именно, они пользуются. Кстати, у меня был подчиненный, который пользовался vim, но не знал даже базовых возможностей — я даже не пытался его переучить (по ряду причин, которые не имеют отношения к нашей дискуссии).
Только обращаю ваше внимание на один факт: все, кто пользуются vim, пришли к нему от других редакторов, включая mcedit. Пришли, потому что доросли по каким-то причинам. Вряд ли есть сколько-либо значимое количество людей, которые перешли с vim на mcedit.
gecube
Не совсем так. При определенных условиях — mcedit или nano может быть быстрее или удобнее, чем vim. Но это какие-то прям edge кейсы. В остальном — если ты знаешь vim хотя бы чуточку, то будешь скорее всего его использовать везде, где это возможно или хотя бы чуточку оправдано (вопрос с IDE вне это контекста)
azazar
Вы сможете на примерах показать эти не edge кейсы, где vim быстрей и удобней mcedit? Именно как редактор, а не IDE.
gecube
mcedit хорошо только, если
Ну, и отрицать, что если человек — новичок, то ему больше подойдёт mcedit, чем vim — попросту не могу. Потому что это бессмысленно.
berez
А нельзя ли — для определенности — озвучить, какое оно, по-вашему — мое мнение? :)
Потому как у меня стойкое впечатление, что вы спорите не со мной, а сами с собой.
Генерализуем утверждение: все, кто пользуется каким-либо редактором, когда-либо пользовались другим редактором.
У вас есть какие-то объективные подтверждения сего тезиса? Исследования какие-то? «Вот человек до принятия vim: как видим, его интеллектуальный рост составляет 15 см. А вот тот же человек после принятия vim: интеллектуальный рост сразу стал 25 см и продолжает расти!».
Графики, таблицы?
Шучу, конечно.
Генерализуем утверждение: вряд ли есть сколько-нибудь значимое количество людей, которые перешли со сложного в освоении развесистого редактора на простой и урезанный".
И утверждение ставится под сомнение уже хотя бы тем, что с одним из таких людей вы сейчас разговариваете.
eumorozov
Доросли в том смысле, что рано или поздно надоедает изучать очередной набор: "чтобы выделить текущую строку, нажмите Ctrl-Shift-Alt-K, чтобы удалить слово, на котором находится курсор, нажмите Ctrl-Shift-W". И переключаться между этими наборами несколько раз в день (поскольку в каждом редакторе они свои, а всю жизнь во всех ситуациях пользоваться mcedit не получится, тогда как с vim это не такая уж недостижимая мечта).
Также, у тех, кто очень давно и подолгу работает за компьютером, нередко развивается туннельный синдром. Для меня, кстати, именно боли в запястье стали самым серьезным мотиватором перехода на vim, и после перехода они больше не возвращались.
Я не знаю, что вы хотите доказать. Я вошел в раздел комментариев под этой статьей, потому что автор совершил типичную ошибку, и не рассказал ничего о том, почему vim лучше других редакторов. Мне захотелось исправить это упущение. Почему? Не знаю, и не особенно хочу анализировать.
Если мои комментарии кому-то помогли сделать выбор в пользу единственного самого эффективного редактора (сарказм… а может и нет), я обрадуюсь. Если кто-то после моих комментариев перешел на
mcedit
— что ж… обидно, но как-нибудь переживу.berez
Проблема в том, что «лучше» — это чисто субъективное суждение. Ну нет никаких объективных способов сравнить редакторы — что, собственно, наш с вами диалог в 100500-й раз и подтвердил. Даже то, что вам кажется объективным критерием (число нажатий для выполнения каких-либо операций) вовсе не обязательно является важным критерием. Да и подсчитывать нужно честно: с учетом переключений режимов туда-сюда (чего в других редакторах нет). Да еще неплохо бы учитывать неизбежные ошибки, привносимые наличием режимов: сколько раз людям приходилось удалять i, которое «на автомате» вводили для переключения в режим редактирования, хотя уже в нем находились. Кстати, есть теория, что торговая марка iPhone именно так и появилась: человек просто по привычке ввел i для переключения в режим редактирования. :)
azazar
Как часто язык переключается? Режимы это хорошо и удобно, если их не надо переключать слишком часто, если с ними удобней, чем без них, или без них никак.
azazar
«D» — это два нажатия, shift и d, если вы не любитель caps lock конечно. В mcedit Ctrl+K — так же 2. Менять окончание строки — те же Ctrl+K, и не надо отдельную комбинацию клавиш запоминать. Вот только в vi ещё надо переключения между режимами делать. И где тут преимущества, если vi требует больше нажатий клавишь? Замена ci{ и di{ в mcedit на пару нажатий клавишь длинней, но только если не считать переключения режимов.
eumorozov
Я редактирую, например, JSON файл. Нахожусь в середине огромного блока, ограниченного
{}
или[]
. Мне надо его заменить или удалить. Я могу нажать в vim:ci{
илиdi[
. Как мне сделать то же самое в mcedit? Я в середине блока.Кстати, в vim это работает не только с любым видом скобок, но и с кавычками тоже.
azazar
Если в середине блока, то vi здесь выигрывает. Если же в начале, то F3 -> F7 -> "}" -> Enter -> F8. Работает для любого символа или нескольких. Это всё же весьма примитивный редактор. А вот например в редакторах от IntelliJ можно просто использовать Ctrl+W.
berez
Есть способ еще проще: встать на открывающую (или закрывающую) скобку, F3, Esc-B, F8.
АДД: И кстати, он правильно найдет нужную скобку при нескольких вложениях блоков.