Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Vim вопросов тред (https://javascript.ru/forum/offtopic/47636-vim-voprosov-tred.html)

l-liava-l 01.06.2014 13:32

Vim вопросов тред
 
Доброго времени суток!

Только пересел, вопросы будут часто и много, поэтому отдельная тема:)

Использую плагин NERDtree


Как видно там может быть несколько вкладок, как между ними быстро переключаться не используя мышь? (доки не помогли)

Как вставить код, которого нет в буфере вима? Вызывать мышкой меню и кликать вставить не кошерно. Где кстати можно для терминала переобредилить C^V
на другую коомбинацию, а эту использовать для вставки?

Еще, как сохранить разом все открытые документы?

l-liava-l 01.06.2014 15:03

Цитата:

Как вставить код, которого нет в буфере вима? Вызывать мышкой меню и кликать вставить не кошерно. Где кстати можно для терминала переобредилить C^V
на другую коомбинацию, а эту использовать для вставки?
Выполнить в терминале
gconftool-2 -s /apps/gnome-terminal/keybindings/copy -t str '<Ctrl>c'

gconftool-2 --type string --set /apps/gnome-terminal/keybindings/paste '<Ctrl>v'

dmitry111 01.06.2014 16:44

а зачем вообще использовать мышку? Мышка нужна тем, кто юзает вебшторм!)


Цитата:

Сообщение от l-liava-l
Как видно там может быть несколько вкладок, как между ними быстро переключаться не используя мышь? (доки не помогли)

а зачем тебе использовать вкладки?
я использую многооконность, делю окно вдоль или поперек и работаю с буферами - это проще и удобней! Например ты можешь скопировать часть кода их одного файла и поместить его в другой!

Цитата:

Сообщение от l-liava-l
Как вставить код, которого нет в буфере вима?

в этом случае я переключаю режим вставки и ctrl+v вставляю код
функция для переключения (забиндина на ", + t"):

" , + t: Переключение режима вставки
nmap <Leader>t :call PasteToggle()<CR>

let g:pasteMode=0

function! PasteToggle()
  if(g:pasteMode)
    set nopaste
    let g:pasteMode=0
    echo 'nopaste mode'
  else
    set paste
    let g:pasteMode=1
    echo 'paste mode'
  endif
endfunction


минусы в том, что переключать режим вставки возможно только в нормальном режиме вима

Этого можно избежать, если забиндить на F клавишу переключалку:

set pastetoggle=<F2>



Цитата:

Сообщение от l-liava-l
Еще, как сохранить разом все открытые документы?

думаю можно написать такую функцию. По умолчанию можно сохранить только текущий документ

l-liava-l 01.06.2014 20:50

Цитата:

а зачем тебе использовать вкладки?
я использую многооконность, делю окно вдоль или поперек и работаю с буферами - это проще и удобней! Например ты можешь скопировать часть кода их одного файла и поместить его в другой!
Мне как то удобнее в одном окне работать (после вебшторма), там тоже могу копировать части текста, но вот как перемещаться по вкладкам я хз. Если бы были окна то юзал бы таб + альт

dmitry111 01.06.2014 21:02

Цитата:

Сообщение от l-liava-l (Сообщение 314307)
Мне как то удобнее в одном окне работать (после вебшторма), там тоже могу копировать части текста, но вот как перемещаться по вкладкам я хз. Если бы были окна то юзал бы таб + альт

под многооконностью имел в виду вот это:


это скрин мое рабочего проекта. Вкладки в виме не использую, использую вкладки консоли. У iterm2 это все можно настроить

Я использую вкладки:
1 - сервер (запускаюб просматриваю)
2, 3, 4 - для кода
5 - для git
6 - для node REPL

В vim'e удобнее работать с буферами, ИМХО

dmitry111 01.06.2014 21:13

про вкладки вот:

:tabnew [filename] 	Открыть новую вкладку
:tabf pat*ern 	Открыть вкладку по шаблону
:tabs 	Список открытых вкладок
gt или :tabn 	Следующая вкладка
gT или :tabp 	Предыдущая вкладка
:tabfirst или :tabfir 	Первая вкладка
:tablast 	Последняя вкладка
:tabm n 	Переместить вкладку в n (от 0)
:tabdo command 	Выполнить над всеми вкладками


ну и никто не мешает создать хоткеи!

l-liava-l 01.06.2014 21:27

убейте меня:D
что за буферы то такие)
Почитаю сегодня про них и найду подобный терминал)) спасибо)

l-liava-l 03.06.2014 16:21

Можно ли откатывать изменения только в определенной части документа??

monolithed 03.06.2014 16:52

Цитата:

Сообщение от l-liava-l
Можно ли откатывать изменения только в определенной части документа??

git?

l-liava-l 03.06.2014 16:59

Цитата:

git?
Цитата:

Vim вопросов тред
Не совсем)

melky 03.06.2014 17:09

Цитата:

Сообщение от l-liava-l (Сообщение 314589)
Можно ли откатывать изменения только в определенной части документа??

не знаю, как в VIM'е, но для этого, наверное, есть команда в EMACS

l-liava-l 03.06.2014 17:48

А как создавать файлы и папки в виме?? как перименовывать?

Я юзаю :! <команда обычного шелла>

Файлы и папки создаются, но вим а точнее nerd tree не видит изменений

dmitry111 03.06.2014 19:16

Цитата:

Сообщение от l-liava-l
А как создавать файлы и папки в виме?? как перименовывать?

можно создавать в nerd tree.
Нажимаешь m, далее выбираешь:

> (a)dd a childnode
  (m)ove the current node
  (d)elete the current node
  (c)opy the current node



Цитата:

Сообщение от l-liava-l
Файлы и папки создаются, но вим а точнее nerd tree не видит изменений

чтобы видеть нужно обновить нажав R

Чтобы отобразить скрытые файлы нажать I

NERDtree очень мощный инструмент для работы с файлами. Для меня это самый нужный плагин в вим

l-liava-l 03.06.2014 19:36

dmitry111,
Если так будет продолжаться я посвящу жизнь поднятию твоей кармы)
Спасибо)

l-liava-l 09.10.2014 04:25

Всем привет!

В папке много файликов, как искать определенную строку в каждом из них?
Аля find usages в вебшторме

dmitry111 12.10.2014 17:04

Цитата:

Сообщение от l-liava-l
В папке много файликов, как искать определенную строку в каждом из них?

Вставь это в .vimrc

Как работает:

1 Выделить нужный фрагмент в VISUAL режиме и нажать: , + g
2 Поставить курсор в место начала поиска, нажать , + g и нажать клавишу перемещения курсора в конец поисковой фразы.

l-liava-l 12.10.2014 19:19

dmitry111,
Спасибо

l-liava-l 02.12.2014 12:56

1) Бесят jade файлы, никакой подсветки... может кто видел скрипты для подсветки ошибок и синтаксиса?

2) Мне хочется менять подстветку синтаксиса в полете, вим это позволяет:
Например строки
Цитата:

:syn region String start=/"/ skip=/\\"/ end=/"/
Но как мне сделать чтобы он налету ассоциировал этот стиль с данным видом файлов или хотя бы позволял включать и выключать все, что я понапишу?

dmitry111 02.12.2014 20:32

Цитата:

Сообщение от l-liava-l (Сообщение 343948)
1) Бесят jade файлы, никакой подсветки... может кто видел скрипты для подсветки ошибок и синтаксиса?


я использую этот плагин https://github.com/digitaltoad/vim-jade

Цитата:

Сообщение от l-liava-l
2) Мне хочется менять подстветку синтаксиса в полете, вим это позволяет:
Например строки
Цитата:
:syn region String start=/"/ skip=/\\"/ end=/"/
Но как мне сделать чтобы он налету ассоциировал этот стиль с данным видом файлов или хотя бы позволял включать и выключать все, что я понапишу?

вообще вим подсвечивает синтаксис по умолчанию. Для этого нужно указать в .vimrc:

" Синтаксис
syntax enable


и выбрать цветовую схему:

" Цветовая схема
colorscheme desert


также есть плагины, например http://ethanschoonover.com/solarized

l-liava-l 03.12.2014 11:03

Цитата:

вообще вим подсвечивает синтаксис по умолчанию
Он то подсвечивает, но хочется немного изенить цветовую схему. а то надоела

Ксати, а есть какой-нибудь color picker?

dmitry111 05.12.2014 22:20

Цитата:

Сообщение от l-liava-l
Он то подсвечивает, но хочется немного изенить цветовую схему. а то надоела

возможно написать, но зачем? Есть же куча дефолтных, да и в сети их навалом, вот например:

https://github.com/flazz/vim-colorsc.../master/colors

качаешь в папку ~/.vim/colors/

и запускаешь как описал выше



По поводу color picker не знаю


Часовой пояс GMT +3, время: 11:12.