ИДЕЯ + Vim = мощный

задняя часть IntelliJ IDEA
ИДЕЯ + Vim = мощный

图片

Этот урок не простойvimОперация введение, больше сIntellj IdeaСотрудничать. нужно иметь обаIntellj Ideaа такжеvimИспользуйте базовые знания одноклассников.


01. Введение

Vimтекстовый редактор с широкими возможностями настройки, предназначенный для эффективного создания и изменения любого типа текста. это как "vi«входит в большинствоUNIXсистема иApple OS Xсередина. Vim очень стабилен и постоянно совершенствуется.

Его особенности включают в себя:

  1. Постоянное многоуровневое дерево отмены

  2. Обширная система плагинов

  3. Поддержка сотен языков программирования и форматов файлов

  4. Мощный поиск и замена

  5. Интеграция со многими инструментами

Зачем использовать Vim с Intelj Idea? Когда мы изучаем новый навык или новый язык программирования, новую модель программирования. Мы должны спросить себя, что заставляет нас так поступать? Какие болевые точки он может решить для вас после его изучения. Так у нас будет больше мотивации учиться.

позвольте мне попробовать научитьсяVimПричина:

Macпод платформойIntellj Ideaмногие из часто используемыхactionвсе нужноcommand + optionЭта комбинация клавиш, от I go toMacЯ был очень раздражен, когда нажал на кнопку Лично я считаю, что эта кнопка очень античеловеческая.

Будучи студентом, изучающим серверную часть, мне по-прежнему часто приходитсяlinuxПерейдите на сервер, чтобы изменить системный файл конфигурации сервера. Напримерnginxконфигурация, в настоящее время неизбежно использованиеvimредактор. Если вы не квалифицированы, это довольно неудобно работать.

существуетIntellj Ideaустановлен вvimпосле плагина. является дополнительным состоянием, которое использует сильные стороны каждого из них для повышения эффективности программирования.


02. Установка

图片

существуетIntellj IdeaУстановите следующие три плагина

  • IdeaVim

  • IdeaVim-EasyMotion

  • IdeaVimExtension

图片

Когда вы обнаружите, что значок запрограммирован с маленьким квадратом, как показано выше, это означает, что плагин успешно установлен.


03. Vim

должен сказатьvimЕсть еще некоторые затраты на обучение, и типичный вход сложен, и вам это понравится после того, как вы начнете. Здесь я кратко подытожу и организую некоторые основные операции.

Упражнение 1: Клавиши со стрелками для связи с hjkl

图片

Основываясь на собственном опыте, я перешел от нативных редакторов кVimСамое непривычное, что движение клавиш со стрелками изменилось с исходных клавиш со стрелками наhjkl

На самом деле об этом особо нечего сказать, но это препятствие необходимо преодолеть. Просто практикуйтесь. (На картинке ниже показана демонстрация Gif)

图片

Упражнение 2. Копирование и вставка

图片

CVДафа хороший, ведь люди иногда смеются над собойC VИнженер 😈 Так что копировать и вставлять все равно надо учиться с первого раза, чтобы было лучшеcoding💩.

  • yyскопировать текущую строку

  • pвставить

图片

Упражнение 3: Узнайте немного больше

图片

В обучении некоторые другие команды подают эффективность.

y p f h c i

图片

Шаги в GIF следующие:

  1. yyскопировать текущую строкуprivate String username;

  2. pВставьте скопированный контент

  3. f;перейти к персонажу;, здесь фактически эквивалентно положению строки.

  4. hпереместить один курсор влево

  5. ciwудалить текущее слово и ввести插入模式

  6. passwordВведите пароль для завершения

v j d

图片

Шаги в GIF следующие:

  1. VВойти в режим выбора контента

  2. kkkПоднимитесь на 3 строки вверх и выберите

  3. dудалить выделение

Удалить на уровне блока "общий" di* da*

图片

di"удалять"Содержание внутри, я лично считаю, что это все еще очень часто используется. Это также метод работы, который изначально превосходит традиционную интеллектуальную идею с точки зрения эффективности. Если вы хотите войти в режим вставки сразу после удаления, вы можете использоватьci"

图片

di(удалять(Если вы хотите войти в режим вставки сразу после удаления, вы можете использоватьci(

图片

di{удалять{Если вы хотите войти в режим вставки сразу после удаления, вы можете использоватьci{

Различные входы в режим вставки

  • iперед курсором войти в режим вставки

  • IВ начале этой строки введите режим вставки

  • aПосле курсора войдите в режим вставки

  • AВ конце строки введите режим вставки

  • oДобавьте новую строку после этой строки и войдите в режим вставки

  • OДобавьте новую строку перед этой строкой и войдите в режим вставки

  • sУдалить текущий символ и войти в режим вставки

  • SУдалить весь текст в текущей строке и войти в режим вставки

Когда я впервые изучил vim, я знал толькоiВойдите в режим вставки. Позже я узнал, что есть так много способов.

Если вы действительно переключитесь, все методы здесь могут быть использованы.

Ниже приведена демо-версия gif, вы можете сразу ее пропустить.

图片

  • aПосле курсора войдите в режим вставки

图片

  • iперед курсором войти в режим вставки

图片

  • oДобавьте новую строку после этой строки и войдите в режим вставки

图片

  • AВ конце строки введите режим вставки

图片

  • IВ начале этой строки введите режим вставки

图片

  • OДобавьте новую строку перед этой строкой и войдите в режим вставки

Упражнение 4: прыжок

图片

Я должен сказать, что мы больше используем vim, чтобы уменьшить количество операций с мышью, потому что для использования мыши ваши руки должны отрываться от клавиатуры.

Снова и снова беда! ! ! Поэтому нам нужно больше знать о движении курсора.

  • [n]f{word} fнайти втекущая строкаЕсть ли символ после текущего курсора{word}Переместите курсор, если он существует

  • $ | ^ $перейти в конец строки^перейти к началу строки

  • %Прыжок в скобках() [] {}

  • *Перейти к позиции предыдущего символа

  • [n]h/j/k/lЦифры плюс клавиши со стрелками показывают, сколько раз повторять прогон.

  • 2jj перейти на две строки вниз

  • 10l сдвинуться на 10 символов вправо

  • 3кк спуститься на 3 строчки вниз

  • 20h сдвинуться на 20 символов влево

  • G | gg

  • G перейти к последней строке

  • gg перейти на первую строку

  • H | M | L

  • H перейти на первую строку текущей страницы

  • M, чтобы перейти в середину редактора

  • L перейти к последней строке текущей страницы

  • [n]wПерейти к началу следующего слова, которому предшествует число, указывающее, сколько раз повторять

  • eперейти к концу следующего слова

  • bперейти к началу предыдущего слова

  • zzИзмените общее положение окна и переместите текущую позицию курсора в середину окна.

Ниже приведена демо-версия gif

图片

  • [n]f{word} fнайти втекущая строкаЕсть ли символ после текущего курсора{word}Переместите курсор, если он существует.

  • Если вы измените f здесь на F, это будет обратный поиск

图片

  • $ | ^ $перейти в конец строки^перейти к началу строки

图片

  • %Прыжок в скобках() [] {}

Упражнение 5. Изучите некоторые распространенные сценарии

Другие полезные команды

  • zo | zc

  • dt{char}


04. Конфигурация

Фактически, после установки Vim официальный представитель предоставил нам только базовую полку, которая может реализовать основные операции Vim. Если вы хотите использовать его более плавно, вам нужно сделать собственную персонализированную конфигурацию Vim. Это чистый лист бумаги, и вам решать, как он будет написан.

Как настроить модули Vim в Idea

图片

Щелкните значок Vim в правом нижнем углу, затем щелкнитеOpen ~/.ideavimrc

Базовая конфигурация

Старые правила, лично я считаю, что новичкам для настройки редактора лучше обратиться к общей конфигурации сообщества. Когда вы станете более опытным в Vim, вы сможете добавлять свои собственные вещи.

"语法高亮syntax on"显示行号set number relativenumber"显示光标所在位置的行号和列号set rulerset wrap                      "自动折行set shiftwidth=4set tabstop=4set softtabstop=4set expandtab                  "将tab替换为相应数量空格set smartindentset backspace=2set co=5"设置取消备份 禁止临时文件生成set nobackupset noswapfile" 为IdeaVim插件增加自动切换为英文输入法的功能," idea 需要安装 IdeaVimExtension pluginset keep-english-in-normal"设置匹配模式 类似当输入一个左括号时会匹配相应的那个右括号set showmatchset clipboard^=unnamed,unnamedplus"set laststatus=2   "命令行为两行"set fenc=utf-8     "文件编码"set mouse=a        "启用鼠标"set ignorecase     "忽略大小写set cursorline     "突出显示当前行"set cursorcolumn   "突出显示当前列set fdm=marker

Более специальная конфигурация выше

  • Установите относительный номер, чтобы вы могли видеть относительный номер строки

  • Keep-english-in-normal После включения этой настройки способ ввода может автоматически переключаться на английский язык после входа в командный режим. Это по-прежнему очень рекомендуется установить, иначе каждый раз, когда вы переключаетесь из режима вставки в командный режим, если на этот раз используется китайский метод ввода, опыт будет очень плохим.

  • set clipboard^=unamed,unnamedplusОбщий буфер обмена, буфер обмена Vim и буфер обмена системы изолированы. После настройки им можно поделиться.

Конфигурация действий

В идее, большинство операций могут быть абстрагированы на такое действие

  • Переименуйте файл

  • Переименовать переменную или имя класса RenameElement

  • Перейти к интерфейсу, реализующему GotoImplementation

  • Скопируйте ссылку на класс CopyReference

  • ...

В Vim вы можете вызывать действия напрямую, вставив командный режим

图片

Изображение GIF выше демонстрируется вызовомRenameElementДействие по переименованию переменной.

После первоначального знакомстваIntellj IdeaизactionПосле этого я поделюсь некоторыми из наиболее часто используемых конфигураций, которые я использую в настоящее время, которые можно вызывать с помощью сочетаний клавиш.action

"jk退出insert模式inoremap jk <ESC>let mapleader = '\<space>'"Idea action 配置" 重命令元素nnoremap <Leader>re :action RenameElement<CR>nnoremap <Leader>gi :action GotoImplementation<CR>nnoremap <Leader>im :action ImplementMethods<CR>nnoremap <Leader>rv :action IntroduceVariable<CR>nnoremap <Leader>cr :action CopyReference<CR>nnoremap <Leader>em :action ExtractMethod<CR>nnoremap <Leader>sw :action SurroundWith<CR>

action listIntellj Ideaтолько во всехactionсписок

Конфигурация плагина

На самом деле система плагинов в Vim очень мощная, но поскольку мы находимся вIntellj Ideaиспользуется вVimможно использовать многоIntellj IdeaМногие оригинальные функции. Пока не нашел очень яркого плагина. Так что, если вы также используете его, вы можете поделиться им.


05. Ссылки

Введение в vim на станции B: bilibili.com/video/BV1Yt411X7mu

Краткое руководство по прокачке VIM: coolshell.cn/articles/5426.html

Learn-Vim: github.com/iggredible/Learn-Vim

Конфигурация Vim: ruanyifeng.com/blog/2018/09/vimrc.html

Соавтор: Ху Чуанган

Знайте домашнюю страницу: zhihu.com/people/hu-chuan-gang-58

Домашняя страница GitHub:GitHub.com/Xiao Xiu, иди…