По роду деятельности приходится править куски конфигурационных файлов оборудования Cisco в текстовом редакторе. Я пользуюсь редактором Geany (ОS Linux), поэтому тюнить буду его и скрипт писать под bash
Мой тюнинг прост, я добавил скрипт, который добавляет или убирает в выделенном тексте команду «no»
Я обозвал скрипт cisco_add_no и скопировал его в /usr/bin, так же не забываем дать ему права на запуск:
chmod ug+x /usr/bin/cisco_add_no
Скрипты для geany можно добавить в
Правка -> Форматирование -> Отправить выделенное в -> Установить пользовательские команды
Там необходимо указать имя скрипта, выделенный текст передается через стандартный stdin
Я указал так (1-й добавляет «no», второй убирает):
cisco_add_no
cisco_add_no unno
Скрипты можно вызывать либо из меню (там же где и добавляли), либо через хот-кеи Ctrl+1, Ctrl+2 и т.д.
P.S. Друзья, я не претендую на уникальность кода, так же не выдвигаюсь в номинации «самый красивый код года», я просто сделал так как смог. Все предложения по улучшению принимаются с удовольствием.
Мой тюнинг прост, я добавил скрипт, который добавляет или убирает в выделенном тексте команду «no»
Я обозвал скрипт cisco_add_no и скопировал его в /usr/bin, так же не забываем дать ему права на запуск:
chmod ug+x /usr/bin/cisco_add_no
Скрипты для geany можно добавить в
Правка -> Форматирование -> Отправить выделенное в -> Установить пользовательские команды
Там необходимо указать имя скрипта, выделенный текст передается через стандартный stdin
Я указал так (1-й добавляет «no», второй убирает):
cisco_add_no
cisco_add_no unno
#!/bin/bash # # Add or remove "no" from all selected strings in Geany # # Usage: cisco_add_no [w/o arguments] - add "no" to all stdin strings # cisco_add_no unno - remove "no" from all stdin strings # #Get stdin strings my_strings=`xargs -0 echo` #Get count of strings num=`echo "$my_strings" | wc -l` i=0 while [ $i -lt $num ]; do let i+=1 #If we haven't "unno" argument? add "no" to selected strings, otherwise remove "no" if [ "$1" != "unno" ] then printf "no " echo "$my_strings" | head -${i} | tail -1 else echo "$my_strings" | head -${i} | tail -1 | sed -e 's/no //' fi done
Скрипты можно вызывать либо из меню (там же где и добавляли), либо через хот-кеи Ctrl+1, Ctrl+2 и т.д.
P.S. Друзья, я не претендую на уникальность кода, так же не выдвигаюсь в номинации «самый красивый код года», я просто сделал так как смог. Все предложения по улучшению принимаются с удовольствием.
