Question: I am having trouble understanding why file names starting with the character + cause problems in Linux (I am using LUbuntu 14.04 and bash with lxterminal). Here is my problem:

I can create a file named `+1`:

```
$ touch +1

```

I can even write to it:

```
$ echo "Up-voted!" | cat > +1

```

And I can edit it:

```
$ sed -i "s/Up/Down/" +1

```

I can read from it:

```
$ cat +1

```

But not with `less`:

```
$ less +1
Missing filename ("less --help" for help)

```

The command `more` seems to give a hint, since it actually interprets +NUM as an option string (start at line NUM):

```
$ more +1 -2 ~/sample.py 
#!/bin/python
import numpy as np

```

`vim` behaves the same as `more` (isn't that sweet! ) (sorry, I did NOT try `emacs`)

At least `nano` and `leafpad` work (though I am perfectly happy to use `sed` or cosmic particle beams to edit my files .\_. ).

Are there any other such "quirks"?

Answer: 
Less actually uses + as an operator. 

From the man less: 

-+ Followed by one of the command line option letters this will
 reset the option to its default setting and print a message
 describing the new setting. (The "-+X" command does the same
 thing as "-+X" on the command line.) This does not work for
 string-valued options.

So you need to escape + as follows: 
less -- +1 
This (the --) tells less (and vim) to ignore options.
Because `less` consider `+1` as pattern or command argument. It fails to consider it as a file.

To make `less` command to view `+1` as file, you need to give the full path of `+1` file in the less command.

```
less /path/+1

```