View previous topic :: View next topic |
Author |
Message |
eggmatters Jr. Member
Joined: 17 Oct 2025 Posts: 60
|
Posted: Thu Feb 01, 2025 2:40 am Post subject: How do you open files with spaces in them? |
|
|
I have screwed up and have a few files with spaces in them. some I need to open, say with vi. so for example:
Code: |
ls /home/homedir
my file
myfile
vi my file
bash: cd: my no such file or . . .
|
If I was to write:
vi my*
it will open both in vi but I still can't access the file with the space in it in vi
Is there a special character that I can use as a space char? Does Bash recognize escape sequences?
Sorry, it's a real dumb question I know. Sometimes I fortet to rename files with underscores before it's too late.
Thanks.
_________________ Debian Gnu/Linux 3.1 r2 "sarge"
kernel 2.6.8-2-i386
|
|
Back to top |
|
VHockey86 Advanced Member

Joined: 12 Dec 2025 Posts: 988 Location: Rochester
|
Posted: Thu Feb 01, 2025 2:53 am Post subject: |
|
|
you can "escape" a space using the backslash character. When you have a backslash, it tells the shell to treat the next character literrally. So if your filename actually had a backslash in it, you would need two backslashes "\\" to represent a single backslash in the actual filename.
or just type "my" and hit the tab keyand bash will autocomplete the rest of the filename (With the escape characters).
_________________ Main Desktops : Kubuntu 10.4. ArchLinux 64-bit. Windows7 64-bit. Windows XP 32-bit.
MacBook: OS X Snow Leopard (10.6)
Last edited by VHockey86 on Thu Feb 01, 2025 2:54 am; edited 1 time in total |
|
Back to top |
|
mushroom Ultimate Member

Joined: 29 Jun 2025 Posts: 2129 Location: Queen Charlotte B. C. Canada
|
Posted: Thu Feb 01, 2025 2:53 am Post subject: |
|
|
You could try replacing the space with "%20"
_________________ SuSE 8.0, 8.2, 9.0, 9.1, 9.2, 9.3, 10.0, 10.1, 10.2, 10.3, 11.0, 11.1
Live CDs Mepis 8.0, Puppy 4.3.1, netbook- Zenwalk 6.2
|
|
Back to top |
|
crouse Site Admin

Joined: 17 Apr 2025 Posts: 11833 Location: Iowa
|
Posted: Thu Feb 01, 2025 5:34 am Post subject: |
|
|
Another easy is to simply use quotes --- easy to remember.
That should do it.
_________________ Veronica - Arch Linux 64-bit -- Kernel 2.6.33.4-1
Archie/Jughead - Arch Linux 32-bit -- Kernel 2.6.33.4-1
Betty/Reggie - Arch Linux (VBox) 32-bit -- Kernel 2.6.33.4-1
BumbleBee - OpenSolaris-SunOS 5.11
|
|
Back to top |
|
BrionS Sr. Member

Joined: 04 Jul 2025 Posts: 1074 Location: Rochester, NY
|
Posted: Thu Feb 01, 2025 11:45 am Post subject: |
|
|
mushroom, do you mean changing the name to include %20? I tried and that gave me an error, but 'ls test\ file' works and so did 'ls "test file"'.
If you're changing the name, might as well change to it to use an underscore instead (or no space at all if it makes sense). %20 is just a URL encoded version of space and as far as I know only really works with URLs in a browser. On the other hand, reading a file name with %20 in place of spaces is in my opinion very hard to read.
_________________ Ubuntu 8.10 (64-bit), Ubuntu 7.10 (64-bit)
OpenFiler 2.2 (rPath Linux base), Mythbuntu 8.10
|
|
Back to top |
|
masinick Linux Guru

Joined: 03 Apr 2025 Posts: 8615 Location: Concord, NH
|
Posted: Thu Feb 01, 2025 5:48 pm Post subject: At least four solutions are possible |
|
|
Here is what we have as wroking solutions:
1. vi my\ file
2. vi "my file"
(The use of %20 works only in URLs. I have never seen it work elsewhere.
Two more solutions are these:
3. Use a file manager, such as the KDE File Manager, the GNOME File Manager, Nautilus, or your favorite file manager. Rename the file using your file manager of choice or use that file manager to open, edit, run, or otherwise manipulate that file.
4. Often, however, you want to run things and you may not even have a GUI available. Worse, what if you are dealing with a "hidden file", those with . at the beginnning of the file name? For those cases, my favorite "Swiss Army Knife" comes to the rescue - GNU Emacs with the dired function. Dired, short for directory editor, can locate those weird files. You can then edit, rename, delete, edit, or whatever else you may want to do to that file.
Frankly, for me, I use option 4 more than any other one. It has worked for me for many years and has saved me from more than one disaster! |
|
Back to top |
|
mmmna . . . .

Joined: 21 Apr 2025 Posts: 7224
|
Posted: Thu Feb 01, 2025 6:21 pm Post subject: |
|
|
VHockey86 wrote: | or just type "my" and hit the tab keyand bash will autocomplete the rest of the filename (With the escape characters). |
Some distros I've used (Slack?) do not configure BASH to allow tab completion for files with spaces in the names....
|
|
Back to top |
|
Deuce868 Member
Joined: 04 May 2025 Posts: 140
|
Posted: Thu Feb 01, 2025 7:21 pm Post subject: |
|
|
you should just be able to do vi .
Then l list the files in the directory and you can scroll up/down the list to pick the file you want to edit as well. It's a bit gui-like without the gui.
|
|
Back to top |
|
copycon New Member

Joined: 11 Mar 2025 Posts: 30 Location: USA, Michigan, Detroit
|
Posted: Mon Mar 19, 2025 2:51 pm Post subject: |
|
|
When I issue the command
it gives me an error saying
_________________ Debian and Kubuntu
|
|
Back to top |
|
jbilas Advanced Member

Joined: 14 Sep 2025 Posts: 924 Location: New York, USA
|
Posted: Mon Mar 19, 2025 5:40 pm Post subject: |
|
|
You might have plain old "vi" installed whilst vi . may work only on vim (VI iMproved). On my system /usr/bin/vi is symlinked to vim.
_________________ Arch Linux 2.6.24-ARCH
|
|
Back to top |
|
copycon New Member

Joined: 11 Mar 2025 Posts: 30 Location: USA, Michigan, Detroit
|
Posted: Wed Mar 21, 2025 3:23 pm Post subject: |
|
|
When I invoke vim implicitly I get the same response.
The system I am checking this on is Kubuntu Fiesty
_________________ Debian and Kubuntu
|
|
Back to top |
|
crouse Site Admin

Joined: 17 Apr 2025 Posts: 11833 Location: Iowa
|
Posted: Wed Mar 21, 2025 4:47 pm Post subject: |
|
|
mine looks like this:
Code: |
" ============================================================================
" Netrw Directory Listing (netrw v107)
" /home/crouse
" Sorted by name
" Sort sequence: [\/]$,\.h$,\.c$,\.cpp$,\.[a-np-z]$,*,\.info$,\.swp$,\.o$\.obj$,\.bak$
" Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:exec
" ============================================================================
../
./
.StockWatch/
.adobe/
.baps/
.bashphonebook/
.bbips-old/
.bbips/
.bbots-old/
.bbots/
.beryl/
.bics/
.bluefish/
.cddb/
.config/
.dbus/
.dvdcss/
.dvdrip/
.fluxbox/
.fontconfig/
.gconf/
.gconfd/
.gimp-2.2/
.glchess/
.gnome2/
.gnome2_private/
.gnupg/
.gobby/
.ipython/
"." is a directory 8,1 Top
|
Code: |
~
~ VIM - Vi IMproved
~
~ version 7.0.216
~ by Bram Moolenaar et al.
~ Vim is open source and freely distributable
~
~ Sponsor Vim development!
~ type :help sponsor<Enter> for information
~
~ type :q<Enter> to exit
~ type :help<Enter> or <F1> for on-line help
~ type :help version7<Enter> for version info
|
_________________ Veronica - Arch Linux 64-bit -- Kernel 2.6.33.4-1
Archie/Jughead - Arch Linux 32-bit -- Kernel 2.6.33.4-1
Betty/Reggie - Arch Linux (VBox) 32-bit -- Kernel 2.6.33.4-1
BumbleBee - OpenSolaris-SunOS 5.11
|
|
Back to top |
|
jbilas Advanced Member

Joined: 14 Sep 2025 Posts: 924 Location: New York, USA
|
Posted: Wed Mar 21, 2025 5:52 pm Post subject: |
|
|
Here's my /etc/vimrc. You can paste it to ~/.vimrc and see if it makes any difference.
Code: |
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar <[email protected]>
" Last change: 2025 Sep 19
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc
" for OpenVMS: sys$login:.vimrc
" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif
" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
" let &guioptions = substitute(&guioptions, "t", "", "g")
" Don't use Ex mode, use Q for formatting
map Q gq
" This is an alternative that also works in block mode, but the deleted
" text is lost and it only works for putting the current register.
"vnoremap p "_dp
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
" 'cindent' is on in C files, etc.
" Also load indent files, to automatically do language-dependent indenting.
filetype plugin indent on
" Put these in an autocmd group, so that we can delete them easily.
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
augroup END
else
set autoindent " always set autoindenting on
endif " has("autocmd")
|
_________________ Arch Linux 2.6.24-ARCH
|
|
Back to top |
|
masinick Linux Guru

Joined: 03 Apr 2025 Posts: 8615 Location: Concord, NH
|
Posted: Wed Mar 21, 2025 10:04 pm Post subject: Dot is interpreted in Vim, Gvim, and Emacs, not in vi |
|
|
copycon wrote: | When I invoke vim implicitly I get the same response.
The system I am checking this on is Kubuntu Fiesty |
Did you intend to say: "When I invoke vim explicitly I get the same response." ? OR were you saying you are duplicating the results?
On my system, when I explicitly type vim . I get back the response . is a directory, but then I get a display containing all of the files and directories within dot and I can choose one of them, press Enter, and I am then taken to the buffer containing the contents of that file.
IF I say vi . on my system (SimplyMEPIS with MANY editors) I get back . is not a regular file; .: unmodified: line 1
If I say gvim . then I get "." is a directory within a Gvim window but the same selection of files as before.
Just to muddy the waters, if I say emacs . I get what I KNEW I would get - what the original poster was hoping to see - a list of selectable files that can be chosen to edit. This feature invokes what is called dired in Emacs, one of my favorite features. I edit and delete files using this - and it is one reason I rarely use Konqueror or Nautilus or any other file manager, unless I really am feeling in a drag N drop mood. Emacs does it the way I like it! I am not starting a war, though, Vim and Gvim do essentially the same thing, but spit out the message about not being able to edit dot (a reference to the current directory name), which is technically true. Why would you edit dot? However, like the originator, I wanted it to figure out that I want a directory listing of dot, then let me use a chooser to edit the file I want to edit. Isn't that what was originally hoped for? |
|
Back to top |
|
|