Reputation: 243
I've just started using Terminal (the CLI for Mac OS X).
When I run a command, get some information back, run another command, get more info etc., it is hard (on the eyes) to find a certain point on the screen (e.g. the output for the command before last).
Is there a way of adding a vertical empty space to the end of each output/ after each command is run that has no output?
Upvotes: 7
Views: 7300
Reputation: 52291
If you use Bash 4.4 and you want a blank line after your prompt, you could set the PS0
prompt to a newline:
PS0="\n"
Now, this will be inserted every time you run a command:
$ echo "Hello"
Hello
Upvotes: 1
Reputation: 1479
I wanted to solve exactly the same, and for anyone interested in doing the same, I used what tripleee said in his comment here - I created a .bash_profile
(see details here) with the line export PS1="\n\n$ "
.
Hopefully that helps someone else too!
Upvotes: 0
Reputation: 1641
Wondering this too, I've looked at the menu options in Terminal & most of the control characters one can type in and nothing does this on a keystroke. You can however enter an echo
command, it alone to leave a single blank line below it before the next prompt. echo \n
will add an extra blank line to that, echo \n\n
to do 2 extra, ie. 3 blank lines, etc. (you can also do echo;echo;echo
getting the same effect)
You can create a shell alias like alias b='echo;echo'
(i couldn't seem to get the \n notation to work in a alias), then entering b
on a prompt will leave a double-blank line, not bad. Then you gotta figure out how to save aliases in your .profile
script.
I tried making an alias for the command ' '
ie. space character, which I though you could type like \
(hmm, stack overflow not formatting this well, that's backslash followed by a space, then return to execute it), but the bash
shell doesn't seem to allow an alias with that name. It probably wouldn't allow a function named that either (similar to alias), though I didn't check.
I often use the fish
shell, and I found that it does allow a function with that name! Created with function ' '; echo \n; end
and indeed it works; at the shell prompt, typing the command \
(again backslash space) leaves a double blank line.
Cool, but.. I tried saving this function using funcsave ' '
(how you save functions in fish
, no messing with startup scripts!) and afterwards the function no longer works :^( This is probably a bug in the fish shell. It's in active development right now though, I think I'll report this as a bug since I would kind of like this to work myself.
One could also send Apple a feature request through their bug reporter for an Insert Blank Line menu/keyboard command in Terminal. If someone pays attention to your request it might be implemented in a year maybe.
Upvotes: 0
Reputation: 5431
Each new command that you enter is preceded by a "prompt", and these can be customized (though the exact way to customize depends on the shell). Since you mention Mac OS X I'm assuming you are using the default bash
shell, in which case the absolute simplest way to add a blank line is like this: PROMPT_COMMAND=echo
. You can run that command to try it out, or add it to a startup file (like .profile
in your home folder) to have it done automatically each time.
Upvotes: 6