несколько вопросов: иксовый буфер, диграфы, клавиши

и другие vi-подобные редакторы

Модератор: /dev/random

Ответить
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

1. Как попросить Vim показывать неразрывные пробелы? Вставлять их можно с помощью digraphs, это я понял, но вот ещё бы в тексте потом отличать их от других.

2. Настроил для листания вот такое сочетание - nmap <Space> <PageDown>
Но привычное обратное вообще не работает (nmap <C-Space>). Копать в перехват эмулятором терминала?

3. Если vim собран без поддержки иксового буфера обмена, можно ли им пользоваться всё равно? Подозреваю, что из консоли должен быть доступ, но какой командой?
Время не ждет.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение drBatty »

ТВЭЛ писал(а):
06.11.2009 22:30
3. Если vim собран без поддержки иксового буфера обмена, можно ли им пользоваться всё равно? Подозреваю, что из консоли должен быть доступ, но какой командой?

помнится иксовый буфер имеет имя *
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

drBatty писал(а):
06.11.2009 23:30
помнится иксовый буфер имеет имя *

Я же написал, Vim собран без поддержки этой опции. В таком случае * не работает.
Пересобирать неохота.
Время не ждет.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение drBatty »

ТВЭЛ писал(а):
07.11.2009 02:17
Я же написал, Vim собран без поддержки этой опции. В таком случае * не работает.
Пересобирать неохота.

раз не поддерживается, то и команды другой нет. ИМХО так...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

Ага, утилитка xclip спасает...

Код: Выделить всё

:read !xclip -o

Но это если в буфере нет русских символов.
Они вставляются вот так: \u0447\u0442\u043e\u0431\u044b
Как побороть? Это явно какое-то перекодирование нужно.

drBatty писал(а):
07.11.2009 02:32
раз не поддерживается, то и команды другой нет. ИМХО так...

В смысле?
Время не ждет.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение drBatty »

ТВЭЛ писал(а):
07.11.2009 02:33
Ага, утилитка xclip спасает...

ТВЭЛ писал(а):
07.11.2009 02:33
Они вставляются вот так: \u0447\u0442\u043e\u0431\u044b
Как побороть? Это явно какое-то перекодирование нужно.

видимо это utf-8... можно попробовать другую утилитку.
ТВЭЛ писал(а):
07.11.2009 02:33
раз не поддерживается, то и команды другой нет. ИМХО так...

В смысле?

в смысле средствами vim-а.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение /dev/random »

ТВЭЛ писал(а):
07.11.2009 02:33
Они вставляются вот так: \u0447\u0442\u043e\u0431\u044b
Как побороть? Это явно какое-то перекодирование нужно.

Перекодирование не поможет. Попробуйте скопировать верхнюю из процитированных строк: получится вот что:
\u041e\u043d\u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u043e\u0442 \u0442\u0430\u043a: \u0447\u0442\u043e\u0431\u044b
И как ваш перекодировщик поймёт, что то, что до двоеточия, здесь надо перекодировать, а то, что после - не надо?

Где-то в нете валялся патч для xclip, исправляющий эту проблему. Попробуйте поискать.

Upd: начиная с версии 0.11 патч больше не нужен.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение /dev/random »

ТВЭЛ писал(а):
06.11.2009 22:30
Но привычное обратное вообще не работает (nmap <C-Space>). Копать в перехват эмулятором терминала?

<C-@>
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение /dev/random »

ТВЭЛ писал(а):
06.11.2009 22:30
1. Как попросить Vim показывать неразрывные пробелы? Вставлять их можно с помощью digraphs, это я понял, но вот ещё бы в тексте потом отличать их от других.

:match Error "ваш_символ"
Спасибо сказали:
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

/dev/random писал(а):
07.11.2009 09:33
Где-то в нете валялся патч для xclip, исправляющий эту проблему. Попробуйте поискать.

В общем-то редко требуется такое копирование и вставка русских текстов, так что пока не буду вообще заморачиваться, наверно. Чем патчить xclip, лучше уж Vim пересобрать или готовый пакет найти собранный с поддержкой иксового буфера.

/dev/random писал(а):
07.11.2009 09:40
<C-@>
Контрл-собака? Я это не понял, извините... можно растолковать?

/dev/random писал(а):
07.11.2009 09:51
:match Error "ваш_символ"

То что надо, спасибо! Правда, не совсем по назначению используется (какой же это Error), но рабочее решение :)
Время не ждет.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение /dev/random »

ТВЭЛ писал(а):
07.11.2009 18:58
/dev/random писал(а):
07.11.2009 09:40
<C-@>
Контрл-собака? Я это не понял, извините... можно растолковать?

При нажатии Ctrl+Space терминал генерирует управляющий символ, обозначаемый ^@. В консольном виме, чтобы его перехватить, вешать событие надо не на <C-Space>, а на <C-@>
Спасибо сказали:
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

Вон как. Спасибо! Не знал.

А у :match, оказывается, очень много параметров, так что найду что надо, наверно.
Время не ждет.
Спасибо сказали:
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

А где можно узнать про то, какие коды генерирует терминал? Дело в том, что мне не CTRL-space нужно, а Shift.
Время не ждет.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение /dev/random »

ТВЭЛ писал(а):
07.11.2009 20:47
А где можно узнать про то, какие коды генерирует терминал? Дело в том, что мне не CTRL-space нужно, а Shift.

А вот это не выйдет. В терминале Space и Shift+Space не различаются.
Спасибо сказали:
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

Хм, точно :( Это у меня эмулятор терминала, похоже, такой функционал обеспечивал.
Странно! А как же, например, маны в консоли листать обратно?
Время не ждет.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение /dev/random »

ТВЭЛ писал(а):
08.11.2009 00:20
Хм, точно :( Это у меня эмулятор терминала, похоже, такой функционал обеспечивал.
Странно! А как же, например, маны в консоли листать обратно?

Если "по-трушному" - то <u>. Если "по-простому", то можно изредка и к <PgUp> потянуться.

А вообще, vimpager вместо less рулит.
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ZyX »

ТВЭЛ писал(а):
08.11.2009 00:20
Хм, точно :( Это у меня эмулятор терминала, похоже, такой функционал обеспечивал.
Странно! А как же, например, маны в консоли листать обратно?

Если очень надо распознавание <S-Space> добавьте в ~/.Xmodmap строку

Код: Выделить всё

keycode 65 = space some_symbol

, где 65 — keycode пробела (определить с помощью xev), первое слово после «=» —
символ, генерируемый без модификаторов, второе — символ генерируемый
с модификатором <Shift>. В качестве второго символа укажите тот, который вы не
будете использовать где-либо ещё (в Unicode таких символов полно). Ах да, не
забудьте убедиться, что после запуска X’ов запускается команда
«xmodmap ~/.Xmodmap».
Спасибо сказали:
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

Спасибо!
Распознавать <S-Space> не буду, лучше привычки поменять на True :)
Потому что иногда надо цепляться на удалённые сервера.
Время не ждет.
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ZyX »

ТВЭЛ писал(а):
08.11.2009 03:58
Спасибо!
Распознавать <S-Space> не буду, лучше привычки поменять на True :)
Потому что иногда надо цепляться на удалённые сервера.
Э-э-э, если компьютер ваш, а сервер удалённый, то проблемы не понимаю. Да и на
чужом можно сделать «echo 'keycode …' | xmodmap -».

PS: И забейте на True. True, по-моему, — это поменять все терминалы так, чтобы
таких вопросов не возникало.
Спасибо сказали:
Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare
Контактная информация:

Re: несколько вопросов: иксовый буфер, диграфы, клавиши

Сообщение ТВЭЛ »

Вы правы. Спасибо :)
Время не ждет.
Спасибо сказали:
Ответить