У меня была та же проблема, и я решил изменение файла правил udev как это:
SUBSYSTEM=="input", GROUP="input", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="4242", ATTRS{idProduct}=="e131", MODE:="666", GROUP="users"
И теперь я могу считать регистратор RFID при помощи libusb
функции.
Старый вопрос, но самым чистым решением для vim в zsh было добавление псевдонима к ~ / .zshenv
, файлу, который zsh загружает для всех оболочек, для входа в систему, интерактивных или иных. Это позволяет избежать запуска vim или zsh с флагами и любых возможных проблем с этим.
Здесь есть хорошее объяснение ~ / .zshenv
vs ~ / .zshrc
: http://tanguy.ortolo.eu/blog/article25/shrc
Обычно zsh всегда является источником ~ / .zshenv
. Источник интерактивных оболочек ~ / .zshrc
и источник оболочек входа ~ / .zprofile
и ~ / .zlogin
. Таким образом, интерактивная оболочка входа в систему с исходными кодами ~ / .zshenv ~ / .zprofile ~ / .zlogin ~ / .zlogin
и неинтерактивная оболочка без входа в систему, такая как та, которую vim использует для запуска команд только исходных кодов ~ /.zshenv
.
Похож это работает на zsh:
$ZDOTDIR=
каталог, где .zshrc
расположен. Например, export ZDOTDIR=$HOME
.vimrc
, set shell=zsh\ -i
или set shellcmdflag+=i
для того же эффекта. -i
то, потому что при запуске в интерактивном режиме, zshell загрузки $ZDOTDIR/.zshrc
. Посмотрите man zsh
и поиск $ZDOTDIR
для деталей.
"+y
теперь приостанавливает Vim! superuser.com/questions/712245 / …
– Nathan Long
04.02.2014, 18:37
Я верю, когда Вы находитесь в vim
и Вы используете :!some_command
это использует любую оболочку, определяется переменной среды $SHELL
.
Это настраивается, таким образом, Вы могли измениться путем переопределения $SHELL
поведение в Вашем $HOME/.vimrc
файл для использования zsh
вместо этого.
:set shell
shell=/bin/bash
:set shell=zsh\ -i
Или в Вашем .vimrc
использование 1 из этих 2 строк
set shell=/bin/bash\ -i
set shell=/bin/zsh\ -i
Посмотрите :help shell
из vim
для большего количества информации.
:!{cmd} Execute {cmd} with the shell. See also the 'shell'
and 'shelltype' option.
Any '!' in {cmd} is replaced with the previous
external command (see also 'cpoptions'). But not when
there is a backslash before the '!', then that
backslash is removed. Example: ":!ls" followed by
":!echo ! \! \\!" executes "echo ls ! \!".
After the command has been executed, the timestamp of
the current file is checked timestamp.
$SHELL
. Таким образом, Ваша оболочка /bin/bash
. Если моя оболочка /bin/zsh
, это - то, что это будет использовать.
– Patrick
04.02.2014, 15:40
Установив shell = / usr / bin / zsh \ -l
в .vimrc
решил мою проблему
Примечание:
Я использую: linux mint 17.1