Редактирование текстовых файлов в WSL с помощью Notepad++

Для быстрого и простого редактирования файла на местеsed-функция i намного проще, чем создание чего-то подобного с использованием awk. Я согласен с тем, что платформы, использующие gawkв версии 1.4.0 или более поздней, имеют функцию «на месте», чтобы покрыть это.

sed -i 's/foo/bar/' filename

С неохотой выучил sedсам из-за того, что все существующие скрипты его используют. При наличии выбора при написании нового скрипта обычно побеждает awk, код становится намного более читабельным и удобным в сопровождении.

1
15.02.2019, 01:41
4 ответа

Вы можете использовать пакет Snap и установить Notepad++ в Linux без установки Wine . Также есть обзор пяти альтернатив , не упомянутых выше.

Однако для всех требуется графический интерфейс, который WSL не включает. Я бы посоветовал вам просмотреть параметры в этой статье , прежде чем выбирать графический интерфейс и добавлять графические приложения.

0
28.04.2021, 23:37

Вы можете редактировать файлы на стороне Windows(C:\xxx)и получать к ним доступ из Debian (/mnt/c/xxx), это не проблема. Вы даже можете запустить Notepad++ из bash, который открывается в Windows, как обычно, но поскольку вы не можете редактировать какие-либо файлы Linux, это не имеет никакого смысла.

Таким образом, чтобы редактировать файлы вашей файловой системы linux, вам придется сначала скопировать их в общий каталог Windows /mnt/c/whatever, отредактировать их там, а затем скопировать обратно.

Другой вариант — установить Samba на Linux и смонтировать рабочие -каталоги в Windows. Обратный способ доступа к общему ресурсу Windows с помощью smbclient также возможен, но не интересно использовать командную строку linux, это уже пробовали. Вы быстрее копируете свои файлы.

Или вы используете emacs, vim,...

2
28.04.2021, 23:37

@Колин

Быстрый ответ на ваш первоначальный вопрос:

$ /mnt/c/Program\ Files/Notepad++/Notepad++.exe "useful.txt"

Так и должно быть

Однако, несмотря на возможность вызова бинарных файлов win из wsl.exe , ваш подход кажется очень -сложным.

Лично я использую nano/cat при работе в WSL CLI.

Но нет ничего лучше, чем Sublime Text с комбо Terminus Package . Запуск bash/zsh на WSL внутри вкладки невероятно удобен:

  1. упрощает копирование/вставку

  2. составление скриптов sh как босс (просто не забудьте переключить файл.sh в режим Unix Line Endings)

enter image description here

  1. супер -простая отладка sh :изменить скрипт и запустить его мгновенноenter image description here
  2. множество других полезных функций и способов обработки взаимодействий WSL/Win и т. д.
1
28.04.2021, 23:37

Я использую notepad++ с моим WSL (ubuntu )в качестве редактора по умолчанию как для Windows, так и для Linux, и я настроил его так, чтобы он запускался из обоих контекстов для файлов в любой файловой системе.

Мои настройки:

Запуск Notepad++

Линукс

Настройте псевдоним следующим образом:

alias npp="/mnt/c/Program Files/Notepad++/Notepad++.exe"

Теперь я могу запустить какnpp [filename]

Окна

Добавьте файл notepad.exe в PATH.

  1. Из меню «Пуск»;выберите изменить настройки среды

Show environment settings menu

  1. Выберите переменные среды:

environment variables

  1. Добавьте в переменную пути расположение Notepad++. Если вы не изменили значения по умолчанию; это было бы в:
C:\Program Files (x86)\Notepad++

Теперь вы можете запустить notepad++ из любой папки.

Редактирование файлов Windows

Из окон

С установленным путем; можно сделать обычные окна:

notepad++ foo.txt

Из Linux

К ним можно получить доступ через /mntточки монтирования, так что вы должны сделать:

npp /mnt/c/Temp/foo.txt

Файлы Linux

Из Windows

К ним можно получить доступ через так называемую -файловую систему P9, предоставляемую WSL, так что вы должны сделать:

Notepad++.exe \\wsl$\Ubuntu-18.04\home\user\foo.txt

(не забудьте переименовать для вашего дистрибутива WSL)

Из Linux

С установленным псевдонимом; ты можешь сделать

$ npp foo.txt
0
28.04.2021, 23:37

Теги

Похожие вопросы