Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   VIM редактор (трюки) (https://javascript.ru/forum/offtopic/39725-vim-redaktor-tryuki.html)

kobezzza 10.07.2013 10:12

Цитата:

Сообщение от monolithed (Сообщение 261432)
Среди консольных редакторов ему равных нет

А как же великий и ужасный Emacs:) Даже поговорка есть, что существует всего лишь 2 истинных редактора)

Gozar 10.07.2013 11:35

With kinesis advantage to future.

Забил на vim, его глюки и плюсы, которые не перевешивают его минусы. В шторме нельзя настроить по человечески переключалку - прощай русский. А привыкать к нескольким редакторам лень.

Решил проблему на аппаратном уровне, чего и остальным желаю.

Murdoc 10.07.2013 12:06

Цитата:

Сообщение от monolithed
v + стрелочка (или shift + v) - выделить, yy - скопировать (в mac os у меня работает cmd + c)

Ну и чтобы копировать без форматирования:

set clipboard=unnamed
set paste!

немного не то. Это копирует в буфер vim, а мне бы в системный. Чтобы возможно было скопировать и вставить куда угодно.


Цитата:

Сообщение от monolithed
Сообщение от Murdoc
Было бы удобно - выделил мышкой и CTRL - c.
А вообще :nopaste убивает режим форматирования, только если захочешь его добавить в конфиг типа:
imap <D-v> ^O:set paste<Enter>^R+^O:set nopaste<Enter>

То нужно будет отключить:
set smartindent

В моем vim умными отступами проблема не ограничивается. У меня также умные скобочки, кавычички и прочие дублированные символы )

Нужен какой-нибудь плагин, который бы срабатывал при вставке кода в vim и редактировал код налету (как в webstorm при вставке кода)

Murdoc 10.07.2013 12:20

Цитата:

Сообщение от iKillMaxmaxmaximus
а зачем нужны консольные редакторы если есть не консольные редакторы?

Хорошо бы уметь пользоваться и тем и тем.

monolithed 10.07.2013 14:00

Цитата:

Сообщение от Murdoc
немного не то. Это копирует в буфер vim, а мне бы в системный. Чтобы возможно было скопировать и вставить куда угодно.

У меня так и есть

Murdoc 11.07.2013 06:51

Цитата:

Сообщение от monolithed
У меня так и есть

вроде тоже получилось.
Кстати, можно вместо paste и nopaste использовать pastetoggle. Работает как переключатель:

# Переключалка на F4
set pastetoggle=<F4>

monolithed 11.07.2013 13:25

Цитата:

Сообщение от Murdoc
Кстати, можно вместо paste и nopaste использовать pastetoggle.

Я знаю, однако кастомные хоткеи стараюсь не делать, особенно для F-клавиш, т.к. у меня это будет Fn+F0..9

Tim 11.07.2013 18:28

Цитата:

В шторме нельзя настроить по человечески переключалку - прощай русский.
???

Gozar 11.07.2013 23:32

Цитата:

Сообщение от Tim
???

ideavim не понимай рюски!

Murdoc 14.07.2013 05:18

Сегодня обнаружил одну полезную функцию у vim. Как оказалось в vim можно сгенерировать html страничку, набрав команду в ex:
:TOhtml

также можно указать конкретное количество строк. Ниже html разметка из моего .vimrc после команды
:0, 30TOhtml

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>~/.vimrc.html</title>
<meta name="Generator" content="Vim/7.3">
<meta name="plugin-version" content="vim7.3_v6">
<meta name="syntax" content="vim">
<meta name="settings" content="use_css,number_lines">
<style type="text/css">
<!--
pre { font-family: monospace; color: #ffffff; background-color: #000000; }
body { font-family: monospace; color: #ffffff; background-color: #000000; }
.lnr { color: #804000; }
.PreProc { color: #c000c0; }
.Statement { color: #804000; }
.Comment { color: #008080; }
-->
</style>
</head>
<body>
<pre>
<span class="lnr"> 1 </span><span class="Comment">&quot; ----------------------------------------</span>
<span class="lnr"> 2 </span><span class="Comment">&quot; Общие настройки VIM</span>
<span class="lnr"> 3 </span><span class="Comment">&quot; ----------------------------------------</span>
<span class="lnr"> 4 </span>
<span class="lnr"> 5 </span><span class="Comment">&quot; Вкладки с файлами и статусная строка</span>
<span class="lnr"> 6 </span><span class="Comment">&quot; 0: Никогда не показывать</span>
<span class="lnr"> 7 </span><span class="Comment">&quot; 1: Показывать если больше чем 1</span>
<span class="lnr"> 8 </span><span class="Comment">&quot; 2: Всегда показывать</span>
<span class="lnr"> 9 </span><span class="Statement">set</span> <span class="PreProc">showtabline</span>=1
<span class="lnr">10 </span><span class="Statement">set</span> <span class="PreProc">laststatus</span>=2
<span class="lnr">11 </span>
<span class="lnr">12 </span><span class="Comment">&quot; Команданая строка</span>
<span class="lnr">13 </span><span class="Comment">&quot; Размер высоты</span>
<span class="lnr">14 </span><span class="Statement">set</span> <span class="PreProc">cmdheight</span>=1
<span class="lnr">15 </span>
<span class="lnr">16 </span><span class="Comment">&quot; Номерация строк</span>
<span class="lnr">17 </span><span class="Statement">set</span> <span class="PreProc">number</span>
<span class="lnr">18 </span>
<span class="lnr">19 </span><span class="Comment">&quot; Количество символов в номерации строк</span>
<span class="lnr">20 </span><span class="Statement">set</span> <span class="PreProc">numberwidth</span>=4
<span class="lnr">21 </span>
<span class="lnr">22 </span><span class="Comment">&quot; Отображение имени буфера в заголовке терминала</span>
<span class="lnr">23 </span><span class="Statement">set</span> <span class="PreProc">title</span>
<span class="lnr">24 </span>
<span class="lnr">25 </span><span class="Comment">&quot; Запрет переноса строк</span>
<span class="lnr">26 </span><span class="Statement">set</span> <span class="PreProc">nowrap</span>
<span class="lnr">27 </span>
<span class="lnr">28 </span><span class="Comment">&quot; Отступы сверху и снизу при скролле</span>
<span class="lnr">29 </span><span class="Statement">set</span> <span class="PreProc">scrolloff</span>=10
<span class="lnr">30 </span>
</pre>
</body>
</html>


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