Я использую этот метод, когда мне нужно сделать что-то подобное:
static void Gimme<T>(out T myVariable)
{
myVariable = default(T);
}
и использовать его следующим образом:
Gimme(out int myVariable);
Print(myVariable); //myVariable is already declared and usable.
Обратите внимание, что встроенное объявление внешних переменных доступный с C # 7.0
Поскольку это еще не закрыто, вот еще несколько вариантов.
$ FCEDIT
или $ EDITOR
или emacs
(пробовал в в этом порядке). option25
(в данном случае). Будет отображена строка. Нажмите Tab , чтобы начать редактирование с этого момента. s ///
. Например, ! - 2: s / - option25 / - newoption /
повторно запустит предпоследнюю команду, но заменит option25. Чтобы изменить последнюю команду ./ cmd
, используйте синтаксис ! string
: ! ./ cmd: s / - option25 / - newoption /
^ - option25 ^ - newoption
Я рекомендую второй вариант. Ctrl + r действительно удобно и быстро, не надо возиться с редакторами, и вы видите результаты до запуска команды (в отличие от расширений истории).
^ - option25 ^ - newoption
Я рекомендую второй вариант. Ctrl + r действительно удобно и быстро, не надо возиться с редакторами, и вы видите результаты до запуска команды (в отличие от расширений истории).
^ - option25 ^ - newoption
Я рекомендую второй вариант. Ctrl + r действительно удобно и быстро, не надо возиться с редакторами, и вы видите результаты до запуска команды (в отличие от расширений истории).
и Ctrl + Alt + ] для обратного поиска.Я рекомендую второй вариант. Ctrl + r действительно удобно и быстро, не надо возиться с редакторами, и вы видите результаты до запуска команды (в отличие от расширений истории).
и Ctrl + Alt + ] для обратного поиска.Я рекомендую второй вариант. Ctrl + r действительно удобно и быстро, не надо возиться с редакторами, и вы видите результаты до запуска команды (в отличие от расширений истории).
После выполнения команды однажды, выполнение fc
Это запустится $EDITOR
с предыдущей командой, тогда можно использовать постоянного редактора для изменения команды. Когда Вы сохраните и выйдете, файл будет выполняться.
.. но, как сказанный Мир - командная строка не особенно хороша для редактирования нелепо длинных линий - почему бы не превратить команду в сценарий?
Одна опция состоит в том, чтобы использовать M-x shell
в emacs
. Это обеспечивает все средства редактирования и нажатия клавиш, который emacs
имеет, таким образом C-s
может использоваться для поиска текста option25
, например.
(Но я все еще предпочел бы быть в реальной терминальной оболочке вместо этого, если кто-то может указать на меня на хороший поиск и отредактировать средства.)
Я склонен предпочитать vi режим редактирования (так как те нажатия клавиш встраиваются в мой спинной мозг теперь (мозг, не используемый вообще), наряду с CTRL-K, CTRL-X от WordStar 3.3:-). Можно использовать командную строку set -o vi
для активации его (и set -o emacs
для возвращения).
В Vi, это было бы (ESC-K для подъема строки сначала, конечно) "f5;;B
" (без двойных кавычек).
, Конечно, необходимо понять то, что находится на строке для схождения с рук этого. В основном это
f5 to find the first occurrence of "5" (in --option5).
; to find the next one (in --option15).
; to find the next one (in --option25).
B to back up to the start of the word.
, Давайте посмотрим, могут ли emacs поклонники предложить лучшее решение, меньше чем 5 нажатий клавиш (хотя я не хочу запускать религиозную войну).
Вы думали о том, требуется ли, возможно, поместить эту страшно долгую команду в сценарий?:-)
На самом деле, я могу пойти один лучше, чем это: "3f5B
" для нахождения третьего возникновения "5" затем обратно до запуска слова.
Это не могло бы быть самым быстрым, но эта потребность быть здесь, некоторое чтение приблизительно перемещения курсора ANSI
, escape-последовательности ANSI позволяют Вам перемещать курсор вокруг экрана по желанию. Это более полезно для полноэкранных пользовательских интерфейсов, сгенерированных сценариями оболочки, но может также использоваться в подсказках . Escape-последовательности перемещения следующие:
- Position the Cursor:
\033[<L>;<C>H
Or
\033[<L>;<C>f
puts the cursor at line L and column C.
- Move the cursor up N lines:
\033[<N>A
- Move the cursor down N lines:
\033[<N>B
- Move the cursor forward N columns:
\033[<N>C
- Move the cursor backward N columns:
\033[<N>D
- Clear the screen, move to (0,0):
\033[2J or \033c
- Erase to end of line:
\033[K
- Save cursor position:
\033[s
- Restore cursor position:
\033[u
(...)
Попытка, включающая следующую строку кода при подсказке (немного более ясно, что она делает, если подсказка является несколькими строками вниз терминал, когда Вы вставляете это): echo -en "\033[7A\033[1;35m BASH \033[7B\033[6D"
Это должно переместиться, курсор семь выстраивает в линию экран, распечатайте слово "Bash" и затем возвратитесь туда, где это начало производить нормальную подсказку.
Примеры :
Перемещение курсор назад 7 строк:
echo -e "\033[7A"
Перемещение курсор для выравнивания 10, столбец 5:
echo -e "\033[10;5H"
Быстро эхо коды цветов , к colorize программа:
echo -e "\033[35;42m" ; ifconfig