You can remove (5) if you prefer not to select the window after it is displayed -- i.e., remove (select-window (get-buffer-window (buffer-name buffer))).  I like the bottom window to be reserved for a 3-month calendar, so that's why I have a condition to use the window above (if it exists) -- you can remove that condition if you are so inclined.  Actually, it's your function so you can modify everything as you see fit now that you see how it works.  The alist would be used like this:  '((window-width . 33)) if you wanted to control certain aspects of the target window, etc.  I find myself always going back to this document page because it is the only scanty formal example I've found . . . and, of course, the source itself window.el:  http://www.gnu.org/software/emacs/manual/html_node/elisp/Display-Action-Functions.html

(defun lawlist-list-buffers-left (&amp;optional arg)
  "Display a list of existing buffers.
The list is displayed in a buffer named \"*Buffer List*\".
See `buffer-menu' for a description of the Buffer Menu.
    By default, all buffers are listed except those whose names start
with a space (which are for internal use).  With prefix argument
ARG, show only buffers that are visiting files."
  (interactive "P")
  (lawlist-display-buffer-left (list-buffers-noselect arg) nil))

(defun lawlist-list-buffers-right (&amp;optional arg)
  "Display a list of existing buffers.
The list is displayed in a buffer named \"*Buffer List*\".
See `buffer-menu' for a description of the Buffer Menu.
    By default, all buffers are listed except those whose names start
with a space (which are for internal use).  With prefix argument
ARG, show only buffers that are visiting files."
  (interactive "P")
  (lawlist-display-buffer-right (list-buffers-noselect arg) nil))

(defun lawlist-display-buffer-left (buffer alist)
"(1) If `buffer` is already displayed, then display it again in the same window.
(2) If `buffer` is not already displayed, and if there is a window to the left,
then display that `buffer` in said window. (3) If `buffer` is not already
displayed, and if there is a window to the right, then use the selected window.
(4) If all else fails, then create a new window to the left and display `buffer` there.
(5) Select the target window which displays `buffer`."
 (let (
    (window
      (cond
        ((get-buffer-window buffer (selected-frame)))
        ((window-in-direction 'above))
        ((window-in-direction 'left))
        ((window-in-direction 'right)
          (selected-window))
        (t
          (split-window (selected-window) nil 'left)))))
  (window--display-buffer buffer window 'window alist display-buffer-mark-dedicated)
  (select-window (get-buffer-window (buffer-name buffer)))))

(defun lawlist-display-buffer-right (buffer alist)
"(1) If `buffer` is already displayed, then display it again in the same window.
(2) If `buffer` is not already displayed, and if there is a window to the right,
then display that `buffer` in said window. (3) If `buffer` is not already
displayed, and if there is a window to the left, then use the selected window.
(4) If all else fails, then create a new window to the right and display `buffer` there.
(5) Select the target window which displays `buffer`."
 (let (
    (window
      (cond
        ((get-buffer-window buffer (selected-frame)))
        ((window-in-direction 'above))
        ((window-in-direction 'right))
        ((window-in-direction 'left)
          (selected-window))
        (t
          (split-window (selected-window) nil 'right)))))
  (window--display-buffer buffer window 'window alist display-buffer-mark-dedicated)
  (select-window (get-buffer-window (buffer-name buffer)))))


Make *Buffer List* always appear in horizontal split
after setting up My vsFtp Server ON Ec2 i am facing problem , my client is Filezilla 

and i am getting this error 


Response:   230 Login successful.
Command:    OPTS UTF8 ON
Response:   200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   500 OOPS: invalid pasv_address
Command:    PORT 10,130,8,44,240,50
Response:   500 OOPS: priv_sock_get_cmd
Error:  Failed to retrieve directory listing
Error:  Connection closed by server


this is the current setting in my vsftpd.conf


#nopriv_user=ftpsecure                                                                                                                          
#async_abor_enable=YES                                                                                                                                                                                                                                        
# ASCII mangling is a horrible feature of the protocol.                                                                                         
#ascii_upload_enable=YES                                                                                                                        
#ascii_download_enable=YES                                                                                                                                                                                                                                                
# You may specify a file of disallowed anonymous e-mail addresses. Apparently                                                                   
# useful for combatting certain DoS attacks.                                                                                                    
#deny_email_enable=YES                                                                                                                          
# (default follows)                                                                                                                             
#banned_email_file=/etc/vsftpd/banned_emails                                                                                                    
#                                                                                                                                                                                                                                                           
chroot_local_user=YES                                                                                                                           
#chroot_list_enable=YES                                                                                                                         
# (default follows)                                                                                                                             
#chroot_list_file=/etc/vsftpd/chroot_list                                                                                                       
  GNU nano 2.0.6                               File: /etc/vsftpd/vsftpd.conf                                                                    

#                                                                                                                                                               #ls_recurse_enable=YES                                                                                                                          
#                                                                                          
# When "listen" directive is enabled, vsftpd runs in standalone mode and                                                                        
# listens on IPv4 sockets. This directive cannot be used in conjunction                                                                         
# with the listen_ipv6 directive.                                                                                                               
listen=YES                                                                                                                                      
#                                                                                                                                               
# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6                                                                  
# sockets, you must run two copies of vsftpd with two configuration files.                                                                      
# Make sure, that one of the listen options is commented !!                                                                                     
#listen_ipv6=YES                                                                                                                                
pam_service_name=vsftpd                                                                                                                         
userlist_enable=YES                                                                                                                             
tcp_wrappers=YES                                                                                                                                
pasv_enable=YES                                                                                                                                 
pasv_min_port=2345                                                                                                                              
pasv_max_port=2355                                                                                                                              
listen_port=1024                                                                                                                                
pasv_address=ec2-xxxxxxx.compute-1.amazonaws.com                                                                                           
pasv_promiscuous=YES                                                                 


Note: i have already open those port in security group 
      i mean listen port, min max

if someone shows me how to fix this i will be very greatful
thanks 
