![Gedit открывает текущий каталог из терминала - Ubuntu 10.10](https://rvso.com/image/1267894/Gedit%20%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D1%82%20%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B9%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%20%D0%B8%D0%B7%20%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0%20-%20Ubuntu%2010.10.png)
Я искал, как это сделать, довольно долго и не мог найти ответ. Я новичок в среде UNIX в целом, так что извините за невежество.
Я смотрю скринкаст на Rails, и в OSX кажется, что из окна терминала можно ввести "mate .", чтобы открыть текущий каталог в TextMate. Когда я пытаюсь сделать то же самое с gedit, "gedit .", gedit открывается, но выдает ошибку, сообщающую, что я пытался открыть папку, а не файл (ну и что). У меня включен плагин обозревателя файлов Gedit, и я могу нажать F9, чтобы переключить его, но я не могу открыть каталог с помощью Gedit из терминала.
Любая помощь будет оценена по достоинству, и извините, если вопрос покажется глупым.
решение1
Gedit — это в первую очередь текстовый редактор, и он не может «открывать каталоги» (по крайней мере, в главном представлении). Я полагаю, вы, вероятно, хотите установить каталог по умолчанию для плагина File Browser Pane.
Если вы запустите gedit в командной строке с помощью
$ gedit .
похоже, что файловый браузер возьмет каталогвышекаталог, который вы ему указали ( .
) как корневой каталог (чтобы перезаписать значение из предыдущего сеанса), и он выдаст вам предупреждение, что .
это каталог, а не файл (вы уже знали это). Если вы не хотите вручную выбирать каталог из древовидного представления, вы можете начать его с любого каталога ниже интересующего вас каталога, так что каталог выше указанного вами будет тем, который вас действительно интересует.
$ gedit ./a
Каталог по умолчанию хранится в ключе gconf (управление настройками Gnome, примерно аналог реестра Windows). Возможно, есть способ вызвать gedit с перезаписанным ключом, но я не знаю, как это сделать. В любом случае, FTR, фактический ключ — /apps/gedit-2/plugins/filebrowser/on_load/virtual_root
.
решение2
Вы можете сделать простой цикл в скрипте:
#!/bin/bash
for FILE in *; do
if [ -f $FILE ]; then
gedit $FILE &
fi
done
"for" будет выполнять цикл для каждого элемента (переменная FILE) в текущем каталоге. "if" проверяет, действительно ли это файл (чтобы избежать открытия каталогов). Последняя часть — вызов самого gedit. Амперсанд (&) нужен для загрузки всех файлов вместе (иначе gedit будет открывать их по одному).
решение3
Я нашел этот небольшой скрипт, который, кажется, мне хорошо подходит.